doc: record the release workflow and merge policy in CLAUDE.md - #96
Open
kalwalt wants to merge 1 commit into
Open
doc: record the release workflow and merge policy in CLAUDE.md#96kalwalt wants to merge 1 commit into
kalwalt wants to merge 1 commit into
Conversation
Two things bit us during v0.7.1 and neither was written down. `npm run build` regenerates crates/wasm/pkg/package.json, which is tracked but had silently drifted a full release behind (0.6.1 while 0.7.0 shipped). Merging the release PR with "Rebase and merge" replayed dev's commits as new objects on main, so dev stopped being an ancestor of main — identical content, divergent history. Repaired by resetting dev to main; documented so the next release uses a merge commit instead. Also notes the two version locations in Cargo.toml, the git-cliff invocation and its missing-blank-line quirk, and that cliff.toml skips the release commit itself — so other changes must land in their own commits first. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents the release process in
CLAUDE.md. Two things went wrong during v0.7.1 and neither was written down anywhere.Merge policy — the one that actually caused damage
PR #95 was merged with "Rebase and merge", which replayed dev's commits as new objects on
main. The result was identical file content but divergent history: 8 commits on each side with the same messages and different SHAs, anddevno longer an ancestor ofmain. Left alone, the next release PR would have replayed all of them again.Repaired by resetting
devtomain(safe —git cherryconfirmed every dev commit was already applied, and the tree diff was empty). Both branches are now atdc05ec3.Your previous release (#92) used a merge commit and did not have this problem, so the policy is now explicit: release PRs merge with a merge commit.
The npm build step
npm run buildregeneratescrates/wasm/pkg/package.json, which is tracked. It had drifted to a full release behind — sitting at 0.6.1 while 0.7.0 was live on npm. Harmless in practice, sincerelease.yml'spublish-npmjob rebuilds the package before publishing and never reads the committed copy, but the repo was contradicting itself.Also recorded
Cargo.tomlholds the version in two places ([package]and[workspace.package]) — easy to bump one and miss the othergit-cliffinvocation, and that--prependomits the blank line before the previous version headingcliff.tomlskipschore(release): prepare for…commits, so any other change must land in its own commit first or it will be missing from the changelogDocs only — no code, no CI changes.