Require a [release-notes] or [no-release-notes] label on PRs - #4052
Require a [release-notes] or [no-release-notes] label on PRs#4052BChan-0 wants to merge 3 commits into
Conversation
Add a CI check that requires every pull request to carry exactly one of two labels: 'release-notes' if the change is user-facing and needs a release note, or 'no-release-notes' if it does not. This makes the release-notes decision explicit and reviewable rather than something discovered at release time. The check reads labels from the pull_request event payload, so it needs no checkout, token, or write permission, and re-runs on label changes and pushes so the status tracks the current labels. Note: the 'no-release-notes' label does not yet exist in the repository and must be created by a maintainer for this check to be satisfiable. Signed-off-by: Bonnie Chan <bonniecv@amazon.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughAdds a pull-request label check for ChangesRelease notes label workflow
Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## unstable #4052 +/- ##
============================================
- Coverage 76.68% 76.62% -0.07%
============================================
Files 162 162
Lines 81021 81101 +80
============================================
+ Hits 62129 62140 +11
- Misses 18892 18961 +69 🚀 New features to boost your workflow:
|
|
@valkey-io/core-team the proposal is to use the labels to make sure that we make a decision on whether a PR should go into the release notes or not. We can apply Whenever we will be doing a release, the idea is to use these labels to filter the right PRs, and automatically generate the release notes PR (using AI). Alternate option we discussed of maintaining a changelog, but I feel it comes with more complexity as we have to handle backports, CVEs etc too. In recent times, we have seen some projects move from changelog to the AI based approach, so I feel we can be AI forward for this work as well. Please let us know your thoughts about this. Thank you! |
Signed-off-by: Bonnie Chan <bonniecv@amazon.com>
enjoy-binbin
left a comment
There was a problem hiding this comment.
I am OK with this idea, i'm just worried that [no-release-notes] might clutter the web page, but i guess there's no other way. (Did not review the yml)
|
Yes. We atleast need a negative label to make a decision. I did have similar concerns about cluttering but figured Maintainers / Contributors can always try and put the label just before the merging. It doesn't have be that way though. |
zuiderkwast
left a comment
There was a problem hiding this comment.
I'm OK with this workflow. Let's try it.
I've created the no-release-notes label.
Signed-off-by: Bonnie Chan <bonniecv@amazon.com>
|
Pivoting away from this check; we're no longer planning on requiring the labels at this time. Currently, the release-notes generator in At release-cut time, we classify every merged PR in the range by its labels: We've run the full generator on this repo for recent release lines; each successfully opened as a PR with generated notes, 7.2.14: #4246 |
|
I am going to close this PR. Our experiments with AI based release notes are looking promising to me. Thank you @BChan-0 for all the heavy lifting. |
This PR is one part of an updated resolution for Issue #3952:
Current Scope
In this PR
All PRs are to be gated such that contributors mark an active decision for whether or not to include their PR in version release notes. This change will be enforced through the CI check added by this PR. Contributors must attach exactly one of either the
release-notesorno-release-noteslabel, the latter being created by a maintainer prior to merging this current PR.Tentative Future Implementation
Rather than requiring contributors to write their own release notes into a running file on
unstable, a workflow will live onvalkey-io/valkey-ci-agentto generate notes via LLM with context from PR titles and bodies. The workflow will trigger by manual dispatch with inputshead ref,base branch,tag glob,version,urgency, anddate, parsing all PRs with therelease-noteslabel from head until the most recent reachable version release candidate tag. For each labelled PR, Bedrock/Claude will then determine a category of release note and construct a note in the formhuman-readable descriptionby @github handle(#PR number)Previous release candidates' release notes, pulled from a pre-release branch on
valkey-io/valkey, will be placed beneath the latest notes, with a full running list of contributor names and handles (See target formatting). The workflow will then raise a PR to create a frozen pre-release branch (release candidates) or version branch (general access) with updated version macros. Any ambiguities from the AI for categorization or necessity of release notes will be surfaced in warnings within the workflow's PR for human review.