ci(release): concurrency groups; shared verify-version action - #210
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Claude review status
✅ Review clean Last reviewed: New this round: 0 finding(s), 0 question(s) · Resolved this round: 0 · Open questions: 0 |
- The three core release workflows get a concurrency group with cancel-in-progress: false: one candidate at a time, one settle per version, one publish per release branch (on-release already has its per-tag group). Each ends in a push or a tag that must never be cancelled half-way, and none is atomic with its own guard. - The inline version gate in on-release becomes the shared release-verify-version action, with the debug-trace-server load check kept as its own step. Mirrors the org templates (megaeth-labs/.github#34). Main only: the in-flight release-v2.0.18 keeps the inline check from #209. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 19d5ac65c0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
release-candidate and release-publish also start on every PR closing on their branch, and GitHub keeps one pending run per concurrency group, so the workflow-wide group let an unrelated closure evict a queued cut or publish. 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>
Follow-ups from the review of #207, generalised in megaeth-labs/.github#34 and applied here.
cancel-in-progress: false: one candidate at a time (github.workflow), one settle per version (inputs.version), one publish per release branch (pull_request.base.ref).on-release.ymlalready has its per-tag group from ci: attach the release binaries to the GitHub Release #207. Each of these workflows ends in a push or a tag that must never be cancelled half-way, and none is atomic with its own guard, so a second run queues instead of overlapping.release-verify-version@mainreplaces the inline version gate inon-release.yml: same semantics (stateless-validator X.Y.Zexpected; warning on a rehearsal, hard stop on a release), and a binary that cannot run fails even on a dry run. Thedebug-trace-server --helpload check stays as its own step, since that binary has no version flag.Merge after megaeth-labs/.github#34, which adds the action. Main only:
release-v2.0.18keeps the inline check it gets from #209, which is equivalent for the in-flight release. Workflow-only change.🤖 Generated with Claude Code