chore(release): build release notes from a changelog - #4
Merged
Conversation
publish.yml created the GitHub release with --generate-notes, which lists merged PR titles. For a contract package that says nothing useful: 0.1.0 released with a body that was only a "Full Changelog" link, so a consumer reading it could not tell what was in the API. Release notes now come from a CHANGELOG.md section matching the published version, written in the PR that syncs the contract while the diff is still at hand. A version with no section fails the publish, and it fails before the upload, since Maven Central will not take a version number twice. Mirrors the same change in ocp-client-protocol, keeping the two publish workflows identical apart from names and coordinates.
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.
publish.ymlcreated the GitHub release with--generate-notes, which lists merged PR titles. For a contract package that says nothing useful:0.1.0released with a body containing only a "Full Changelog" link, so a consumer reading it cannot tell what is in the API.Release notes now come from the
CHANGELOG.mdsection matching the version being published. The section is written in the PR that syncs the contract, while the diff is still at hand, rather than reconstructed at release time by whoever runs the workflow.A version with no section fails the publish. That check runs early, before the signed build and before the upload, because Maven Central will not accept a version number twice and a release that fails late has already spent one.
CHANGELOG.mdstarts with an entry for0.1.0. There is no unreleased contract change here, so the next sync PR adds the next section.Mirrors ocp-client-protocol
This is the same change as code-payments/ocp-client-protocol#4, which carries it alongside a contract sync. The two
publish.ymlfiles stay identical apart from names and package coordinates: the extract step and the--notes-fileline are byte-for-byte the same in both.The orchestrator's
/fetch-protosskill now documents writing the changelog entry as part of agreeing the version, so both repos needed to behave the same way or the instruction would be wrong for one of them.