fix(ci): drive the Release PR with git-cliff (release-plz never opened one) #17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci/git-cliff-release-pr"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Replace the release-plz Release-PR engine with git-cliff. Approving one Release PR now cuts a release end-to-end (version + CHANGELOG + build + publish), with no re-runs.
Why (root cause, proven this session)
release-plz has never opened a Release PR in this repo — every release through v0.3.1 was hand-cut on a
release/vX.Y.Zbranch (norelease-plz 🤖author exists in master history). Itscargo packagecontent-diff "did the crate change?" gate is structurally broken for thispublish = falseapp: it reports no change for every commit and short-circuits before computing a version. Reproduced locally withfix:/feat:/ new-file commits, withrelease_always, with[[package]], and with no config at all — it never bumps.git-cliff (which release-plz only wrapped) computes the bump + changelog correctly here:
git-cliff --bumped-version→v0.3.2on master.What changed
release-plz.yml→release-pr.yml(git-cliff engine). On master push: compute next version; if there's a bump, open/update one rollingrelease-prbranch/PR (bumpCargo.toml/Cargo.lock+ insert the## [x]CHANGELOG section), PAT-authored soci.ymlgates it. The tag-once step is unchanged (single PAT tag push on merge →release.yml). Workspace is restored to the master commit after building the PR branch so tag-once reads the right version.cliff.toml— Keep-a-Changelog group labels; skips merge +chore: releasecommits;tag_pattern v[0-9]*.release-plz.toml; updateCLAUDE.md+justfiledocs.Validated locally (scratch clone)
Cargo.toml/Cargo.lockbumped,## [0.3.2]section inserted under## [Unreleased]with existing prose intact.next == current→ no duplicate PR → tag-once tagsv0.3.2→ firesrelease.yml.After merge
This merge triggers the new
release-pr.yml, which auto-opens the v0.3.2 Release PR. Approve that one → v0.3.2 is cut automatically (first live test of #14 one-push + #15 decoupled GitLab/headless).