@@ -9,6 +9,7 @@ Compass uses GitHub Actions for continuous integration, Docker Hub for image dis
99| Release on main | Push to ` main ` | Auto-increments patch version, publishes Docker images, then deploys staging |
1010| Publish Docker images | Reusable workflow / manual dispatch / manual ` v*.*.* ` tag push | Builds and pushes Docker images only |
1111| Deploy staging | Reusable workflow / manual dispatch | Pulls published images on staging, restarts the stack, then runs deploy health checks |
12+ | Deploy production | Manual dispatch | Deploys a release tag to production, then runs cloud deploy health checks |
1213| Deploy health check | Reusable workflow | Validates the deployed staging stack and alerts Discord on failure |
1314| Sync docs to compass-docs | Push to ` main ` touching ` docs/** ` | Mirrors this ` docs/ ` directory to docs.compasscalendar.com |
1415
@@ -127,3 +128,19 @@ Secrets and variables are split between repository level (shared across workflow
127128| ` BACKEND_API_URL ` | Staging backend API URL |
128129| ` FRONTEND_URL ` | Staging frontend URL |
129130| ` GOOGLE_CLIENT_ID ` | OAuth client ID |
131+
132+ ---
133+
134+ ## Production Deploy
135+
136+ Source: [ ` .github/workflows/deploy-production.yml ` ] ( ../../.github/workflows/deploy-production.yml )
137+
138+ Production deploys are manual-only. Run ` Deploy production ` from GitHub Actions
139+ with an existing release tag, such as ` v1.2.3 ` ; it is not called by
140+ ` release-on-main.yml ` and does not run automatically after PR merges.
141+
142+ The workflow deploys to the GitHub ` production ` environment through
143+ ` _deploy-environment.yml ` , builds an environment-specific web image tagged
144+ ` switchbacktech/compass-web:production-<version> ` , then runs
145+ ` deploy-health-check.yml ` with the ` cloud ` profile. Production is expected to use
146+ external MongoDB and SuperTokens Cloud rather than self-hosted data services.
0 commit comments