Skip to content

ci(release): pin releases to the release PR commit - #2327

Merged
Benoît Cortier (CBenoit) merged 3 commits into
masterfrom
claude/daily-release-pr
Oct 30, 2026
Merged

Benoît Cortier (CBenoit) merged 3 commits into
masterfrom
claude/daily-release-pr

Conversation

@CBenoit

@CBenoit Benoît Cortier (CBenoit) commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Regenerating the release PR on every push to master closes it and discards the review edits it carries, and publishing from master after the merge ships changes the release notes do not describe.

Regenerate the release PR once a day from the head of master, or on a manual run, optionally from a given commit. Publish only when a release PR is merged, and publish from that PR's head commit, so the published crates match the versions and changelogs it was reviewed with. Changes merged to master after its base commit go to the next release PR.

🤖 Generated with Claude Code

Regenerating the release PR on every push to master closes it and
discards the review edits it carries, which made most release PRs
unmergeable.

Prepare it on a daily schedule instead, and leave an open release PR
untouched so it stays pinned to the commit it was prepared from. A
manual run regenerates it, optionally from a given commit. Publishing
still follows every push to master.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@CBenoit

Copy link
Copy Markdown
Member Author

Lines changed: production code 0, tests 0, other files ( 1 file changed, 41 insertions(+), 1 deletion(-), .github/workflows/release-crates.yml).

Untested properties:

  • UNTESTED: release-plz prepares the release PR from the local branch reset to a pinned commit, even though it lags the remote branch. Only a manual run with commit set takes this path. Check it once by dispatching with an older commit and confirming the release PR lists only the changes up to that commit.

Release PRs closed unmerged since 2026-10-01: #2067, #2214, #2215, #2240, #2254, #2255, #2260, #2281 and #2306.

🤖 Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@CBenoit Benoît Cortier (CBenoit) changed the title ci(release): prepare the release PR once a day ci(release): pin releases to the release PR commit Oct 30, 2026
@CBenoit

Copy link
Copy Markdown
Member Author

Updated: the daily run now always regenerates the release PR, and publishing runs only for a merged release PR, from its head commit (refs/pull/N/head).

Lines changed: production code 0, tests 0, other files ( 1 file changed, 49 insertions(+), 3 deletions(-), .github/workflows/release-crates.yml).

Untested properties:

  • UNTESTED: release-plz prepares the release PR from the local branch reset to a pinned commit. Check by dispatching with an older commit.
  • UNTESTED: release-plz publishes from the detached release PR head and tags that commit, and the next release PR still lists the changes merged after the previous release PR's base commit. Check on the first release after this lands.

🤖 Generated by Claude Code

@github-actions github-actions Bot added breaking-change Includes a breaking change, and requires special scrutiny at the boundaries kind/technical-debt Internal cleanup work risk/high Substantial core public API impact, or fail-closed triage; needs maintainer-level scrutiny scope/tooling Build, CI, release, or developer tooling size/S Size: up to 199 counted lines and 5 files; exceeds XS in either measure labels Oct 30, 2026
@CBenoit
Benoît Cortier (CBenoit) merged commit ed4c279 into master Oct 30, 2026
58 of 60 checks passed
@CBenoit
Benoît Cortier (CBenoit) deleted the claude/daily-release-pr branch October 30, 2026 16:48

This branch was previously deployed

1 inactive deployment
llm-providers — 55628db6 Deployed Oct 30, 2026 by CBenoit via Classify pull request #12074
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Includes a breaking change, and requires special scrutiny at the boundaries kind/technical-debt Internal cleanup work risk/high Substantial core public API impact, or fail-closed triage; needs maintainer-level scrutiny scope/tooling Build, CI, release, or developer tooling size/S Size: up to 199 counted lines and 5 files; exceeds XS in either measure

Development

Successfully merging this pull request may close these issues.

1 participant