ci: cancel superseded in-progress runs #433

Merged
hexajon merged 2 commits from ci/concurrency-cancel-in-progress into main 2026-08-17 19:59:42 +00:00
Owner

Refs #426 (first no-trade CI-speed lever).

Adds a concurrency: group to the ci and drift workflows so a new push to the same ref cancels a stale in-progress run instead of queuing it behind the single org runner:

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

Scoped to non-default refs, so main runs always complete (a merge's CI is never cut short); only superseded PR-branch runs are cancelled. No coverage change, no trust-boundary change.

Left open on #426, deliberately not in this PR:

  • Warming the PR Go cache (relaxes the #272 fork-poisoning guard - a trust boundary).
  • Path-filtering docs-only diffs (must report success while no-oping heavy steps, because ci / gate is now a required check).
Refs #426 (first no-trade CI-speed lever). Adds a `concurrency:` group to the `ci` and `drift` workflows so a new push to the same ref cancels a stale in-progress run instead of queuing it behind the single org runner: ```yaml concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} ``` Scoped to non-default refs, so `main` runs always complete (a merge's CI is never cut short); only superseded PR-branch runs are cancelled. No coverage change, no trust-boundary change. Left open on #426, deliberately not in this PR: - Warming the PR Go cache (relaxes the #272 fork-poisoning guard - a trust boundary). - Path-filtering docs-only diffs (must report success while no-oping heavy steps, because `ci / gate` is now a required check).
ci: cancel superseded in-progress runs
All checks were successful
drift / govulncheck (pull_request) Has been skipped
drift / surface-diff (pull_request) Successful in 1m28s
drift / forgejo-smoke (pull_request) Has been skipped
ci / mcp-conformance (pull_request) Successful in 2m10s
ci / gate (pull_request) Successful in 15m6s
9b9fd2785f
Add a concurrency group to the ci and drift workflows so a new push to
the same ref cancels a stale in-progress run instead of queuing it behind
the single org runner. Scoped to non-default refs; main runs complete so a
merge's CI is never cut short.

First no-trade lever from #426 (the cache-warming and path-filter levers,
and the CI-trust-boundary question, stay open there). Refs #426.
Merge branch 'main' into ci/concurrency-cancel-in-progress
All checks were successful
ci / mcp-conformance (pull_request) Successful in 1m57s
drift / govulncheck (pull_request) Has been skipped
drift / surface-diff (pull_request) Successful in 1m18s
drift / forgejo-smoke (pull_request) Has been skipped
ci / gate (pull_request) Successful in 16m39s
drift / govulncheck (push) Has been skipped
drift / surface-diff (push) Successful in 13s
drift / forgejo-smoke (push) Has been skipped
ci / mcp-conformance (push) Successful in 26s
ci / gate (push) Successful in 7m8s
a72431b71d
hexajon scheduled this pull request to auto merge when all checks succeed 2026-08-17 19:43:13 +00:00
hexajon deleted branch ci/concurrency-cancel-in-progress 2026-08-17 19:59:43 +00:00
Sign in to join this conversation.
No reviewers
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
sixfold-space/madtea!433
No description provided.