Files
2026-03-03 05:04:42 +05:30

1.8 KiB

Release checklist

This is a lightweight, operator-friendly checklist for releasing Mission Control.

Goal: no data loss and near-zero (ideally zero) user-visible downtime.

Before you release

  • Confirm the target version/commit SHA.
  • Review merged PRs since last release (especially DB schema/auth changes).
  • Ensure CI is green on the target SHA.
  • Confirm you have:
    • access to the host(s)
    • access to Postgres backups (or snapshots)
    • a rollback plan

Database safety

  • Verify migrations are backward compatible with the current running app (if doing rolling deploys).
  • Take a backup / snapshot.
  • If migrations are risky or not backward compatible, schedule a maintenance window.

Deploy (Docker Compose)

  • Pull / build the new images (or update the repo checkout).
  • Apply migrations (if you run them manually):
# example: if running backend locally on the host
cd backend
uv run alembic upgrade head
  • Restart services with minimal disruption:
docker compose -f compose.yml --env-file .env up -d --build

Post-deploy verification

  • Backend health: GET /healthz returns 200
  • Backend readiness: GET /readyz returns 200
  • Frontend loads (no console spam)
  • Login works (local/clerk mode)
  • Core flows work end-to-end:
    • View board
    • Create/update a task
    • Post a comment
    • Heartbeat check-in succeeds

Rollback (if needed)

  • Roll back the app version (compose / images).
  • If migrations were applied and are not reversible, rollbacks may require a DB restore.

Notes to keep this honest

  • If you add a new operational dependency (e.g., redis), update:
    • README.md (overview + quickstart)
    • docs/deployment/README.md
    • this checklist