Add release-notes generator script and Makefile target#1785
Add release-notes generator script and Makefile target#1785wallrj-cyberark wants to merge 1 commit into
Conversation
✅ Deploy Preview for cert-manager ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify project configuration. |
a3349fd to
effb7f3
Compare
| @@ -0,0 +1,101 @@ | |||
| # Release Notes Generator | |||
There was a problem hiding this comment.
I've tested this script, but wasn't able to run it because I hadn't create the tag yet. The release process says that I should prepare the release notes before releasing. Here is what I'm getting:
$ cd scripts/release-notes
$ go run . --release-notes-dir ../../content/docs/releases/release-notes --release-version v1.20.1
INFO[0000] Cloning/updating repository cert-manager/cert-manager
INFO[0015] Using found start SHA: 0d2f215fe26ca2674758b5dfd780f04ac1dfde92
invalid configuration: invalid notes options: resolving v1.20.1: reference not found
exit status 19ffaa3c to
96f7aa1
Compare
96f7aa1 to
8298740
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
acce1b6 to
a12d38b
Compare
f956f32 to
ae8e82a
Compare
- Add scripts/release-notes Go tool that generates and maintains release notes using k8s.io/release changelog extraction - Add make generate-release-notes target with CERT_MANAGER_VERSION variable; the tool auto-detects the best end revision (tag → release branch → master) so it works before the tag is created - Update release process docs to use make generate-release-notes in step 4 (prepare release notes PR, can be done ahead of time) and step 11 (re-run after tag is created if needed) - Remove dependency on the separately-installed k8s release-notes CLI - Update release-notes-1.18.md with auto-generated content - Add content/docs/releases/release-notes/.spelling for version strings Signed-off-by: Richard Wall <richard.wall@cyberark.com>
ae8e82a to
4dea748
Compare
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Producing release notes has always been one of the most laborious parts of the cert-manager release process. This PR adds a Go tool that automates the tedious, error-prone steps — extracting the changelog from GitHub PR history, formatting contributor and maintainer lists, and maintaining the structured MDX markers the website expects — so we spend less time on formatting and more time reviewing content.
What this adds
scripts/release-notes/— Go CLI toolk8s.io/release/pkg/notesto collect changelog entries from merged PRs between two git revisions.v1.21.0), then the release branch (release-1.21), then falls back tomaster. The tool can therefore be run before the tag exists.make/02_mod.mk—generate-release-notestargetcontent/docs/contributing/release-process.md— updated to document the new tool and Makefile target.content/docs/releases/release-notes/release-notes-1.21.md— first real use of the tool: generated the v1.21.0 pre-release notes from 216 commits since v1.20.0.Testing
Unit tests cover:
## \vX.Y.Z`` heading with generated content on first run[@handle]and[`@handle`]forms)Manually verified by running
make generate-release-notes CERT_MANAGER_VERSION=v1.21.0against the existingrelease-notes-1.21.mdfile that was created manually — the tool inserted the community markers and generated the full changelog, including PRs merged up to the time of the run.