Skip to content

ci(publish): one release at a time, and refuse a tag main has moved past - #1263

Merged
drewstone merged 1 commit into
mainfrom
ci/publish-tag-lock
Sep 16, 2026
Merged

drewstone merged 1 commit into
mainfrom
ci/publish-tag-lock

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Three sessions cut 0.228.0, 0.231.1 and 0.232.0 within hours of each other on 2026-09-16, and v0.232.0 was pushed four minutes before #1259 merged, so the tag published without the change main declared under that version (it needed its own 0.233.0, #1261). The per-tag tip check only sees the moment the job starts; two tags racing the workflow would both pass it.

  • Concurrency group publish-agent-runtime, cancel-in-progress: false: Publish runs one at a time, and a run already publishing is never interrupted by a later tag.
  • Moved-main refusal in the tip check: a tag that is an ancestor of main's current tip (main moved after the tag was pushed) is refused, naming the commits it would leave out, exactly as a stale tag is today.
  • release:prepare's printed instructions now say: fetch tags, check the last Publish run, announce the cut on the PR, then tag.

Workflow-only plus the script's help text; check:publish-workflow passes; no source, no version bump.

🤖 Generated with Claude Code

Three sessions cut 0.228.0, 0.231.1 and 0.232.0 within hours of each other on
2026-09-16, and v0.232.0 was pushed four minutes before #1259 merged, so the
tag published without the change main declared under that version (it needed
its own 0.233.0). The per-tag tip check only sees the moment the job starts;
two tags racing the workflow both passed it.

- A concurrency group serialises Publish runs without cancelling one already
  publishing.
- The tip check now refuses a tag that is an ancestor of main's current tip —
  main moved after the tag was pushed — and names the commits it would leave
  out, the same way it names them for a stale tag.
- release:prepare's printed instructions carry the discipline: fetch tags,
  check the last Publish run, announce on the PR, then tag.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 2f02d6f8ee87d81f5f71a5984644e6b11df15792)
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@drewstone
drewstone merged commit 6b5010a into main Sep 16, 2026
4 checks passed
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