Skip to content

feat(release): generate the GitHub release body from the changelog - #2987

Open
vmaerten wants to merge 4 commits into
mainfrom
feat/auto-release-notes
Open

feat(release): generate the GitHub release body from the changelog#2987
vmaerten wants to merge 4 commits into
mainfrom
feat/auto-release-notes

Conversation

@vmaerten

@vmaerten vmaerten commented Aug 19, 2026

Copy link
Copy Markdown
Member

Description

One step to a fully automated release process! The "release body" is now fully automated, taken from the CHANGELOG.md as usual

Checklist

  • I have read and followed the Contribution Guide.
  • I have disclosed the use of any AI-generated content in this pull request per the AI Usage Policy.
  • I fully understand the changes and have hand-written the description (No AI) of this pull request.

@vmaerten
vmaerten marked this pull request as ready for review August 20, 2026 09:20
@vmaerten
vmaerten requested review from andreynering and pd93 and a lite review from Copilot August 20, 2026 09:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR automates the GitHub Release body generation by extracting the matching version section from CHANGELOG.md and wiring it into the release workflow, reducing manual steps in the release process.

Changes:

  • Add --notes mode to cmd/release to print the current version’s changelog section (for use as the GitHub release body).
  • Update the GitHub Actions release workflow to generate release notes and pass them to GoReleaser.
  • Update release documentation and remove the now-obsolete manual “copy changelog to release” step.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
website/src/next/docs/releasing.md Documents that the GitHub release body is sourced from the version’s CHANGELOG.md section via cmd/release --notes.
Taskfile.yml Removes the manual instruction to copy changelog text into the GitHub release.
cmd/release/notes.go Implements changelog section extraction and printing for --notes.
cmd/release/notes_test.go Adds unit tests for changelog section extraction behavior.
cmd/release/main.go Adds --notes flag and routes execution to the new notes generator.
.github/workflows/release.yml Generates release notes in CI and passes them to GoReleaser as release notes.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread cmd/release/notes.go
Comment on lines +23 to +24
_, err = fmt.Fprintln(w, changelogSection(string(b), version))
return err
distribution: goreleaser-pro
version: latest
args: release --clean --draft
args: release --clean --release-notes=${{ runner.temp }}/release-notes.md
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