Skip to content

fix(release): job-level concurrency for the pull_request-triggered jobs - #35

Merged
Troublor merged 1 commit into
mainfrom
troublor/release-concurrency-lanes
Sep 9, 2026
Merged

Troublor merged 1 commit into
mainfrom
troublor/release-concurrency-lanes

Conversation

@Troublor

@Troublor Troublor commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Review finding on the caller PRs of #34 (megaeth-labs/mega-evm#378, megaeth-labs/stateless-validator#210), raised by both Codex and the Claude reviewer.

release-candidate.yml and release-publish.yml also start on every PR closing on their branch; the job if: then skips the noise. But a workflow-level concurrency group is entered before any job runs, and GitHub keeps one pending run per group: with a run in progress and a real cut or publish queued, the next unrelated closure replaces the queued run and cancels it. cancel-in-progress: false only protects the running one. Since pull_request.closed never refires, the lost cut or publish is unrecoverable by re-dispatch.

Fix: the groups move to the gated jobs — propose and cut get their own lanes, publish keeps its per-release-branch key — as job-level concurrency. A skipped job never queues, so it holds no slot in a job-level group and cannot evict anything. release-settle and on-release keep their workflow-level groups: they have no noise triggers.

README updated to say so. Same change goes to mega-agents (follow-up PR, #299 had already merged) and is pushed to the open mega-evm and stateless-validator PRs.

🤖 Generated with Claude Code

Review finding on the caller PRs: release-candidate and release-publish
also start on every PR closing on their branch, and GitHub keeps one
pending run per concurrency group, so a workflow-wide group let an
unrelated closure evict a queued cut or publish — silently, since
pull_request.closed never refires. The groups now sit on the gated
jobs (propose, cut, publish); a skipped job holds no slot.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Troublor
Troublor merged commit 4191385 into main Sep 9, 2026
2 checks passed
@Troublor
Troublor deleted the troublor/release-concurrency-lanes branch September 9, 2026 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant