-
Notifications
You must be signed in to change notification settings - Fork 9.7k
feat: add a way to pass release notes from the PR #16904
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
60c4fa6
to
8275955
Compare
make the release note block part of .github/PULL_REQUEST_TEMPLATE.md (inspired from k8s') A CI check would check the input. Signed-off-by: machine424 <[email protected]>
8275955
to
5a2a94a
Compare
contents: read | ||
pull-requests: read | ||
|
||
jobs: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make is required.
Signed-off-by: machine424 <[email protected]>
What's the idea of how to read back this information (and from where)? Will there be more tooling? In some modes (merge commit), the PR description makes it into the git log, but in others (squash?), it might not happen. I guess K8s has experience with that. |
I previously attempted to implement an all-in-one pipeline here: #15191. That doesn't prevent the release shepherd from adjusting them later, or the changelog reviewers from doing the same. The release shepherd will still manually collect commits between two refs and build the release notes, as we do today. For the release notes generation, we can later discuss whether we want a custom script like the one in #15191, or whether we should adapt and reuse an existing tool, like Kubernetes’ https://github.com/kubernetes/release/tree/master/cmd/release-notes (they also include release notes in PR descriptions). Or, if needed, we can move to another mechanism entirely, but I'd like to start trying things out. |
Makes sense to me. Still, I would like this to get approved by someone more familiar with the CI checks and the Makefile. @SuperQ maybe? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice, I like it!
In a follow-up PR we could also check that the CHANGELOG entry references the correct PR number.
scripts/check_release_notes.sh
Outdated
@@ -0,0 +1,30 @@ | |||
#!/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#!/bin/bash | |
#!/usr/bin/env bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(not sure if we can easily have a linter for such things, as both are used https://github.com/search?q=repo%3Aprometheus%2Fprometheus%20%22%23!%2Fbin%2Fbash%22&type=code)
scripts/check_release_notes.sh
Outdated
@@ -0,0 +1,30 @@ | |||
#!/bin/bash | |||
|
|||
set -e |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recommend against set -e
since bash does silent exits on errors. This makes it hard to debug.
set -e | |
set -u -o pipefail |
Then make sure we have good error checking within the script.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I usually go for "fail fast" in case the script doesn't have good error checking
, it's safer.
But I can change here as I assume the needed checks are there.
(also, nothing enforces this apparently https://github.com/search?q=repo%3Aprometheus%2Fprometheus+%22set+-e%22&type=code)
Signed-off-by: machine424 <[email protected]>
make the release note block part of .github/PULL_REQUEST_TEMPLATE.md (inspired by k8s')
A CI check would check the input.
Using the PR description makes it easy for the reviewers to contribute.
Also, IMHO, it's simpler than having to run commands or add files to have it as part of the git.
We can discuss the changelog generation part later, but this should help streamline the shephard's workflow and improve their overall experience.
Does this PR introduce a user-facing change?