We auto-generate release notes from the titles of all pull requests that were part of a release. This generally works ok, but if there are any "action required" items, there is no easy way to include that information in the release notes unless we remember to make edits by hand.
It would be nice to find a way to automate including "action required" information in the release notes.
We can likely leverage the releasenote prow plugin, and do something similar to the k8s release notes generator: https://github.com/kubernetes/release/blob/master/relnotes
+1. In an ideal world, I'd like every repo that's interested be able to leverage a single tool for this. Happy to use capz as a testing ground for this (as we already have the releasenote plugin enabled).
cc: @cartyc @saschagrunert @onyiny-ang @jeefy
I'm happy to support you here, we recently added some more features to the release-notes tool, so I gave it a first try on the cluster-api-provider-azure repository:
> go run cmd/release-notes/main.go \
--github-org kubernetes-sigs \
--github-repo cluster-api-provider-azure \
--github-token <TOKEN> \
--repo-path /tmp/repo \
--requiredAuthor "" \
--output notes.md \
--start-rev v0.2.1 \
--end-rev v0.2.2 \
level=info msg="cloning/updating repository to discover start or end sha"
level=info msg="using found start SHA: 75320e02e236c34366ad40971174c120d578fb20"
level=info msg="using found end SHA: bd86562830f2a618456e841586ba658ef263556e"
level=info timestamp=2019-10-08T12:10:22.555168754+02:00 caller=main.go:169 msg="fetching all commits. this might take a while..."
...
level=info timestamp=2019-10-08T12:10:37.958118442+02:00 caller=main.go:260 msg="release notes written to file" path=notes.md format=markdown
notes.md:I'm thinking of rendering the notes into a user-provided go template, which would be an additional feature.
Which kind of changes to the tooling would you need that it matches your requirements?
Ah, I didn't realize there was a Go tool now: https://github.com/kubernetes/release/tree/master/cmd/release-notes
The problem is anago still uses a bash off-shoot to do a lot of the initial work, but the golang tool is what the release team uses to generate the x.y.0 release notes as well as what gets funneled into relnotes.k8s.io :)
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
/remove-lifecycle stale
I'm not sure if we still need this issue or to actively find another solution for release notes. Our current process based on PR titles has worked good so far, unless there is a strong motivation to move to something different, I'd say we might be fine in this area
closing per comment above
/close
@vincepri: Closing this issue.
In response to this:
closing per comment above
/close
Instructions 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/test-infra repository.
Most helpful comment
+1. In an ideal world, I'd like every repo that's interested be able to leverage a single tool for this. Happy to use capz as a testing ground for this (as we already have the releasenote plugin enabled).
cc: @cartyc @saschagrunert @onyiny-ang @jeefy