ci: use changie - #11253
Conversation
|
Warning No auditable source files found in this PR's diff. |
|
Things I checked and confirmed working:
Five findings below, in order of impact. Only the first is something we might consider blocking. 1. The rebase will silently delete a live changelog entryThis is the one that loses data, and nothing in the pipeline catches it. This branch is based on This PR ships Nothing downstream notices:
Ask: as part of the final rebase, convert every entry still under 2. Nothing enforces "never edit CHANGELOG.md by hand"
So a PR can merge with a hand-written Suggested fix, no new script needed — a drift check in - name: Changelogs match .changes
run: |
changie merge
git diff --exit-codeA bare I verified both halves of this: it passes on this branch today (zero drift), and a committed hand edit to 3. Fragment hygiene: colliding filenames, and unvalidated kinds(a) Two PRs both told to write (b) Since the whole Minor and related: the project grep 4. Ordering: #11254 should be closed before this mergesThe follow-up note says we'll deal with the other PRs after merging. One ordering detail matters: the open Release PR must be closed before this merges, not after.
Migration plan for the rest of the open PRs is filed as #11262. 5. Contributor docs are stale, and there's no path for a new crateThree small gaps, one owner, one follow-up:
One caveat to accept knowingly, not a findingThis PR rewrites the header of every crate's Review performed with Claude Code. The verification claims above (zero drift, the hand-edit test, the bad-kind error, the base-commit comparison) were produced by actually running changie |
alchemydc
left a comment
There was a problem hiding this comment.
Approving. The changie mechanics are sound and I verified the parts that matter most — zero changie merge drift against efaf0d3d9, the generated headings match the unmodified release validator, and the release batching is idempotent.
To be explicit about finding 1 in my review above: I'm leaving it to your judgment whether to handle it pre-merge. The [Unreleased] entry that landed in zebra-consensus/CHANGELOG.md via #11215 will need converting to a fragment during the rebase, or it gets dropped — but that's a rebase-time detail, not a reason to hold up the design. Your call on whether to fold it in now or catch it when you rebase.
Findings 2, 3 and 5 are follow-ups rather than changes to this PR. Finding 4's ordering point (close #11254 before this merges) is the one thing worth acting on at merge time.
Migration plan for the other open PRs is tracked in #11262.
Merge Queue Status
This pull request spent 3 minutes 3 seconds in the queue, including 2 minutes 15 seconds running CI. Required conditions to merge
|
Zebra moved to changie in ZcashFoundation#11253, so CHANGELOG.md files are regenerated from .changes/ and an entry written directly into one is overwritten at release time. Replace the two hand-written entries with change fragments.
Motivation
Closes #11252
Solution
Introduces changie and updates the CI workflows to work with it.
This PR does the following:
.changie. That folder keeps the changelog section for each released version, but since we are starting to use it now, the PRs adds one entry with the entire changelog so far.header.tpl.mdwhich is the changelog header. Changie generates the final changelog by concatenating the header with the changelog file for each version in the past. To make things simpler I use the same header for zebra and crates, so I reworded it slightly to work with both.Tests
Specifications & References
Follow-up Work
After this merges we will need to update all other PRs to add a changie entry instead of editing the changelog directly, which admittedly will be a pain. Note that from now on, any changelog entries will be overwritten at time of release.
AI Disclosure
PR Checklist
type(scope): description