calendar-plugin/package/deployment-record-2026-03-3...

2.3 KiB

Deployment Record - 2026-03-30

  • Artifact: package/calendar-plugin-0.1.0.zip
  • Manifest: package/calendar-plugin-0.1.0.manifest.sha256
  • Source revision: SVN r405 (https://svn.chezstephens.org.uk/adrian/tools/calendar_wp_plugin)
  • Deploy target host: cs.chezstephens.org.uk
  • Deploy target path: /var/www/wordpress/wp-content/plugins/calendar-plugin
  • Operator: Codex (with user-approved escalations)
  • Timestamp (UTC): 2026-03-30

Pre-deploy Gates (Local)

  • compatibility-layer/e2e_wp_emulation.php: PASS
  • compatibility-layer/ui_e2e.sh: PASS
  • compatibility-layer/smoke.sh: PASS
  • fixture/security_smoke.sh: PASS

Packaging Validation

  • Archive root contains single plugin folder: PASS (calendar-plugin/)
  • Main entry present: PASS (calendar-plugin/calendar-plugin.php)
  • Runtime-only source (code/) packaged: PASS

Deployment Procedure

  1. Uploaded artifact+manifest to remote staging /tmp/calendar-plugin-0.1.0.
  2. Extracted and synced to plugin path with rsync -a --delete.
  3. Activated plugin via WP-CLI (wp plugin activate calendar-plugin --allow-root).

Exact-Match Validation

  • Compared artifact and deployed SHA256 manifests (relative paths normalized).
  • diff -u returned no differences.
  • Result: PASS (REDEPLOY_HASH_MATCH_OK).

Post-deploy Checks

  • /calendar.ics -> 200
  • /caldav/ (unauthenticated) -> 401
  • /wp-json/calendar/v1/health -> 200
  • /wp-json/calendar/v1/public/ics -> 200
  • Authenticated CalDAV checks:
    • /caldav/ -> 405
    • PROPFIND /caldav/calendars/public/ -> 207
    • GET /caldav/calendars/public/deploy-smoke.ics -> 200

Backup/Rollback

  • Previous deployment backup path (if existed):
    • /var/www/wordpress/wp-content/plugins/calendar-plugin.backup.prev

Redeploy Update (Same Day)

  • Redeployed latest local UI/auth shortcode fixes from current workspace artifact.
  • Remote sync to /var/www/wordpress/wp-content/plugins/calendar-plugin completed.
  • Exact-match manifest validation re-run: PASS (DEPLOY_AND_HASH_MATCH_OK).
  • Stale duplicate plugin directory removed:
    • /var/www/wordpress/wp-content/plugins/calendar-plugin.backup.prev
  • Remote validation after cleanup:
    • only calendar-plugin present under plugins directory
    • wp plugin list shows calendar-plugin,active,0.1.0
    • GET /calendar.ics -> 200
    • GET /wp-json/calendar/v1/health -> 200