feat(infra): ./infra approve opens the promotion PR for vault/docs-only changes #164
Loading…
Reference in a new issue
No description provided.
Delete branch "jfraeys/feat/approve-carry-over"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gap: a change staging never runs for (a rotation's vault PR, docs, scripts outside
lib/) opens no promotion PR. After a rotation,./infra deployfrom main was refused (checkout is not the approved commit), and checking out the approved commit would deploy the old secrets: the only way through was the logged emergency bypass. Found 2026-10-14 when #163 landed after #160 was approved (gate:REFUSED ... git checkout 5d15f97)../infra approvewith no open promotion PR now:promotion_drift, the gate's own rule), or if prod already contains main;main -> prodPR whose body carriespassed on commit <validated>(so the deploy gate accepts it);plan-prod.sh, you type the PR number, merge, confirm the merge took.A PR number that is not open is still refused (no carry-over then).
CI check fix: merge commits on main carry no statuses (CI runs on PR heads;
63bbb25has none). When the head has none, every first-parent commit since the validated one must be a PR merge whose PR head is green; a commit that did not come through a PR, or a red PR, is refused.rotate-secret.sh's next steps anddaily-commands.mdnow include./infra approvebetween merging the vault PR and deploying.Tests:
test-approve-promotion.sh22 cases (+7 for the above). test-promotion, test-infra-cli, test-rotation-lock pass. Not run against the real Forgejo (it opens a PR).🤖 Generated with Claude Code
https://claude.ai/code/session_01Ge5tovcwdEUBtPwUktsZZZ