fix(ci): generate release notes from CHANGELOG.md instead of develop range#283
Merged
Conversation
…range
The previous generator ranged over `${PREV_TAG}..origin/develop` and
filtered by `feat:`/`fix:` commit prefixes, on the assumption that all
features land on develop. That assumption breaks for hotfixes: a
hotfix is tagged off `main`, and `develop` contains every commit that
wasn't backported. v0.9.6's release notes ended up listing SourcePicker,
harness management, ynh 0.3 envelope, and other develop-only commits
that aren't actually in the v0.9.6 tag.
Switch to extracting the section header `## [$VERSION]` from
CHANGELOG.md. CHANGELOG is already the human-curated source of truth
for what shipped — using it directly is correct for every release type
(stable, beta, hotfix) and gives release-author control over wording.
If the section is empty (CHANGELOG not maintained for that version),
fall back to a stub pointer.
Co-Authored-By: Claude Opus 4.7 (1M context) <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.
Summary
The release-notes generator in
.github/workflows/release.ymlranged commits over${PREV_TAG}..origin/developand filtered byfeat:/fix:prefixes. That works for stable releases promoted viadevelop → main, but fails for hotfixes: a hotfix is tagged offmain, anddevelopcontains every commit that wasn't backported. v0.9.6 manifested this — its release page listed SourcePicker, harness management, ynh 0.3 envelope, and other commits that aren't actually in the tag (manually corrected post-hoc).Approach
Switch to extracting the matching
## [$VERSION]section fromCHANGELOG.md. CHANGELOG is already the human-curated source of truth for what shipped — using it directly is:If the section is empty (CHANGELOG not maintained for that version), fall back to a stub pointer instead of producing wrong content.
Test plan
0.9.6and0.9.5against currentCHANGELOG.md— scoped correctly to each section.🤖 Generated with Claude Code