ci(staging): skip superseded push runs instead of validating every commit in a burst #110

Merged
jfraeys merged 1 commit from jfraeys/ci/skip-superseded-staging into main 2026-10-13 13:27:43 -04:00
Owner

Staging runs are serialized, so merging N PRs queued N full runs (~15 min each), though only the newest tree matters.

  • New first step on push events: if the pushed SHA is no longer the head of the branch, mark the run stale and skip provisioning, sops install and the validation. A skip, not a cancel, so nothing is left to tear down.
  • promote also skips on a stale run, so the main->prod PR never claims staging passed on a commit that was skipped (the production gate reads that line).
  • Fails open: if the branch head cannot be read, the run proceeds. workflow_dispatch runs (app CI, manual) are never skipped.
  • Checked: yamllint, test-promotion.sh, and the head comparison against a throwaway repo (older SHA -> stale, newest -> not). Not exercised in Forgejo itself; merge two commits close together and the older run should log [SKIP].

🤖 Generated with Claude Code

Staging runs are serialized, so merging N PRs queued N full runs (~15 min each), though only the newest tree matters. - New first step on push events: if the pushed SHA is no longer the head of the branch, mark the run stale and skip provisioning, sops install and the validation. A skip, not a cancel, so nothing is left to tear down. - promote also skips on a stale run, so the main->prod PR never claims staging passed on a commit that was skipped (the production gate reads that line). - Fails open: if the branch head cannot be read, the run proceeds. workflow_dispatch runs (app CI, manual) are never skipped. - Checked: yamllint, test-promotion.sh, and the head comparison against a throwaway repo (older SHA -> stale, newest -> not). Not exercised in Forgejo itself; merge two commits close together and the older run should log [SKIP]. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ci(staging): skip a push run once main has moved on, and keep promote from reporting it
Some checks failed
Secret scan / scan (pull_request) Has been cancelled
e6b5390ec7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jfraeys/infra!110
No description provided.