Repository navigation
EPBDS-16211: every master commit gets a CI run of its own - #217
Merged
Merged
Conversation
A concurrency group holds one running run and one pending one, and GitHub cancels the pending run when another arrives, whatever `cancel-in-progress` says. #205 stopped a push to master from cancelling the run in progress, but with one group for the branch the run waiting behind it was still dropped. On 2026-10-12 three PRs merged within two minutes, and 5cb6bf6 (#215) got no run. Each push to master now has a group named by its commit. A pull request's newer push still supersedes its run. The changelog said that CI cancels a run only for a newer push to the same pull request; it now says what CI does.
AlexSamBY
added a commit
that referenced
this pull request
Oct 13, 2026
## What Each push to release/v0.34 gets a CI run of its own. A push to the branch now has a concurrency group named by its commit (`github.sha`), as master's does with #217. A pull request's group is still its ref, and its newer push still cancels the run before it. ## Why A group holds at most one running run and one pending run, and GitHub cancels the pending one when another is queued, whatever `cancel-in-progress` says ([GitHub's documentation](https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/control-workflow-concurrency)). With one group for the branch, a push whose run was waiting behind another's lost that run when a third push arrived. Master's CI lost 5cb6bf6's run that way on 2026-10-12, when three PRs merged within two minutes. The workflow's comment said "A push to the branch keeps its run"; it now says how. ## Verified - Only `.github/workflows/ci-0.34.yml` changes; no code does. The workflow parses (js-yaml). - This PR's own run checks the workflow on the pull-request path, which is unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Each push to master gets a CI run of its own. A push to master now has a concurrency group named by its commit (
github.sha). A pull request's group is still its ref, and its newer push still cancels the run before it.Why #205 was not enough
#205 stopped a push to master from cancelling the run in progress:
cancel-in-progressis on for pull requests only. But a group still holds at most one running run and one pending run. GitHub cancels the pending one when another is queued, whatevercancel-in-progresssays. From GitHub's documentation: "any existingpendingjob or workflow in the same concurrency group will be canceled".It happened on 2026-10-12, when #214, #215 and #216 merged within two minutes:
5cb6bf6 is the case #205 set out to prevent: a master commit with no finished run.
The change
.github/workflows/ci.yml: the group isci-${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}. Master's runs no longer share a group, so none waits and none is cancelled; merges in quick succession run in parallel. The comment says why one group for the branch was not enough.queue: max: it keeps up to 100 pending runs per group, but GitHub's documentation says it cannot be combined withcancel-in-progress: true, which pull requests use.The same fix for release/v0.34's
ci-0.34.ymlis #218.Verified
ci-CI-<sha>; for a pull request, asci-CI-refs/pull/<n>/merge.&&and||return one of their operands, the common way to pick a value in a workflow expression. This PR's own run evaluates the expression, so a syntax error would have kept it from starting.Gates
All 22 gates and the manifest contract exit 0 on HEAD, on Node 24.14.0.
🤖 Generated with Claude Code