Release Process - vudh1/ballerwatch GitHub Wiki
BallerWatch uses release-gated production.
- Create
release/<version>from latestmain. - Implement and run Validate code.
- Update
features/versions.jsonand current docs only after implementation is green. - Open PR →
main. - Squash merge after required checks pass.
- Promotion advances
productionand publishes the GitHub Release. - Release-driven Worker deployment migrates/audits encrypted runtime state and performs live API/security readiness checks.
- Only after Worker readiness succeeds does it dispatch Pages deployment.
- Pages composes its root from
productionand its/beta/subtree from the last validatedmaincommit. Separately, successful main CI automatically publishes beta. - An already-open PWA verifies that both Worker and Pages reached the promoted version, then updates its service worker and refreshes automatically.
Production promotion is manual only, initiated through the protected administrator action or the manual workflow. There is no scheduled promotion: validated main updates beta automatically, while the root app remains on production until a deliberate release. Manual promotion does not bypass validation.
RELEASE_GITHUB_TOKEN is repository-scoped with Contents read/write, Workflows read/write, Pages read/write, and Administration read/write. CRON_GITHUB_PAT remains dispatch-only.
See Versions for source-vs-production terminology and release-history links.