Skip to content

🔧 config(release): use CHANGELOG section as GitHub Release notes#14

Merged
scttbnsn merged 1 commit into
mainfrom
dev/changelog-release-notes
Jun 12, 2026
Merged

🔧 config(release): use CHANGELOG section as GitHub Release notes#14
scttbnsn merged 1 commit into
mainfrom
dev/changelog-release-notes

Conversation

@scttbnsn

Copy link
Copy Markdown
Collaborator

Summary

  • The github-release job now extracts the matching version section from CHANGELOG.md and uses it as the GitHub Release body, with the auto-generated PR list + compare link appended after it (gh prepends --notes-file content to --generate-notes output).
  • The CHANGELOG is read from the tag itself (git show refs/tags/<tag>:CHANGELOG.md), so workflow_dispatch backfills get the correct version's notes even after main moves on.
  • Falls back to auto-generated notes alone when no matching section exists (e.g. a tag predating the changelog), so a missing section never blocks a release.
  • Docs: behavior documented in docs/RELEASE.md; CHANGELOG [Unreleased] entry added.

Closes the gap where v0.3.7's release notes had to be hand-curated after the fact — future releases get the curated body automatically.

Verification

  • Extraction script tested locally under set -euo pipefail for all three paths: section hit (v0.3.7 → 28 lines), no matching section (fallback), missing tag/file (fallback).
  • release.yml parses as valid YAML.
  • npm run ci green: 253 unit/integration + 16 e2e, 0 failures.

- 🔧 config: github-release extracts the tag's CHANGELOG.md version
  section (read from the tag itself) and prepends it to the
  auto-generated PR list; falls back to generated notes alone when no
  section matches
- 📝 docs: document the notes behavior in docs/RELEASE.md and the
  CHANGELOG [Unreleased] section

@biggest-littlest biggest-littlest left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the notes-extraction script: pipefail-safe, reads CHANGELOG from the tag, clean fallback when no section matches. CI green. LGTM.

@scttbnsn scttbnsn merged commit 893805c into main Jun 12, 2026
1 check passed
@scttbnsn scttbnsn deleted the dev/changelog-release-notes branch June 12, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants