Files
website/docs/production-release-checklist.md
T
2026-04-28 09:16:15 +08:00

2.4 KiB

Production Release Checklist

Use this checklist before every production deployment.

Code

  • Working tree is clean.
  • Latest commit is the intended release commit.
  • npm ci succeeds from a clean install.
  • Legacy tutorial redirects point to /en/support/tutorial.
  • npm run typecheck passes.
  • npm run build passes.
  • npm run payload:migrate:status shows all migrations as Yes on the release database.
  • payload_migrations has no batch = -1 dev marker before exporting/importing the database.
  • Admin login shows a verification code, invalid captcha fails before password validation, and /admin redirects to /admin/login when logged out.
  • No new user-facing fallback copy was introduced without a CMS field.

Environment

  • NEXT_PUBLIC_SITE_URL is the final public domain.
  • PAYLOAD_SECRET is set and is not change-me or the example value.
  • DATABASE_URI points to the production PostgreSQL database.
  • PAYLOAD_DB_PUSH=false is set.
  • PAYLOAD_RUN_MIGRATIONS_ON_START=false is set unless a one-off controlled migration boot is intentionally planned.
  • Upload directories media/ and files/ are persistent and backed up.
  • Database dump and upload archive are generated from the same local release window.

CMS Data

  • English and Chinese homepage content render.
  • Product list and at least one product detail page render in both locales.
  • Downloads list and one download detail page render.
  • News list and one news detail page render.
  • Reviews page tabs render, with local media covers where present.
  • Support page and video tutorials render, with local media covers.
  • Dealers page map visibility matches CMS setting.

Smoke Routes

Run:

npm run smoke -- "$NEXT_PUBLIC_SITE_URL"

Required manual spot checks:

  • /en
  • /zh
  • /en/products/dmp-a10
  • /en/reviews?tab=reviews
  • /en/support
  • /en/support/tutorial
  • /admin
  • /admin/login
  • /api/health
  • /api/admin/captcha

Launch Notes

  • Keep old production database and upload volume snapshots until the new release has passed smoke checks and editorial QA.
  • If schema push or migration prompts appear during app startup, stop. Production startup should not be running schema push or migrations.
  • If media thumbnails are missing, verify the upload volume before changing CMS records.