Generate release notes from CHANGELOG, and stop failing on manual runs - #51
Merged
Merged
Conversation
Releases were published with an empty description: the workflow passed no body and did not ask GitHub to generate notes, so every set of notes so far has been written by hand after the fact. The release body now comes from the CHANGELOG entry matching the tag, with GitHub's generated 'What's Changed' section appended. Tagging a version that has no changelog entry fails the release instead of publishing a blank description. The release job is also gated on refs/tags/*. A release cannot be published from a branch, so a manual workflow_dispatch run always failed at the final step with 'GitHub Releases requires a tag'. It now skips publishing and serves as a dry run of the build and test gate. The extraction was tested against every section in CHANGELOG.md, including the last one, and against a version with no entry.
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.
Two fixes to the release workflow, both needed before tagging v0.2.0.
Releases were published with an empty description
The
Create Releasestep passed nobody, nobody_path, and nogenerate_release_notes— so nothing populated the release description. Everyset of notes so far was written by hand afterwards (the stored v0.1.2 body has
CRLF line endings, i.e. typed into the web UI). The tags are lightweight, so
there was no tag message to fall back on either.
The body now comes from the
CHANGELOG.mdentry matching the tag, withGitHub's generated "What's Changed" appended below it. Notes get written once,
in the PR that made the change, and reviewed there.
Tagging a version with no changelog entry now fails the release instead of
quietly publishing a blank description.
Manual runs always failed
workflow_dispatchis a listed trigger, but a release cannot be published froma branch. A manual run resolved
github.ref_nametomain, producinganim-main-src.zipandname: Release main, then died with⚠️ GitHub Releases requires a tag. The three build jobs passed; only thepublish step failed.
The
releasejob is now gated onstartsWith(github.ref, 'refs/tags/'), so amanual run skips publishing and acts as a dry run of the cross-platform build
and test gate — which is the only useful thing it could do from a branch.
Verification
The extraction step was run verbatim, parsed straight out of the YAML, against:
trailing HTML comment