runbook: spell out that the CI secrets must exist before the merge
All checks were successful
shell-lint / shellcheck (pull_request) Successful in 7s
PR build (required check) / build-frontend (pull_request) Has been skipped
PR build (required check) / validate-observability (pull_request) Successful in 22s
PR build (required check) / gate (pull_request) Successful in 2s
PR build (required check) / changes (pull_request) Successful in 6s
secrets-guard / encrypted (pull_request) Successful in 5s
PR build (required check) / build-backend (pull_request) Has been skipped

infra-sync fires on any push to dev/main touching infra/**, which this change
does heavily. Without VPS1_SSH_*/VPS2_SSH_* those jobs SSH to an empty host and
fail; sync-beta also targets a checkout that does not exist until step 1.
Nothing is damaged (the jobs only fetch and render) but the red run reads like
an outage. Also records that the app Deploy workflow does NOT fire here, being
path-filtered to backend/** and frontend/**.
This commit is contained in:
Emi Griffith 2026-07-25 15:03:29 -07:00
parent 4e97d8e5dc
commit f1664bc0f5

View file

@ -49,6 +49,17 @@ or 8 is done wrong, which is what the verification lines are for.
Keep the old `SSH_*` / `PROD_SSH_*` secrets until step 11 — they are the
rollback path, and deleting them early strands you.
**Create these BEFORE merging.** `infra-sync.yml` fires on any push to
`dev` or `main` touching `infra/**`, and this change touches a great deal
of it. Without the new secrets those jobs SSH to an empty host and fail;
`sync-beta` additionally targets `/opt/thermograph-beta`, which does not
exist until step 1. Nothing is damaged either way — the jobs only fetch
and render — but you will get a red run and a misleading alert.
The app `Deploy` workflow does **not** fire on this merge: it is
path-filtered to `backend/**` and `frontend/**`, and this change touches
neither.
- [ ] **Take a fresh prod backup and confirm it landed**, rather than trusting
the schedule: