-
Notifications
You must be signed in to change notification settings - Fork 917
GODRIVER-3564: Add config and workflows for release note labels #2148
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
Conversation
API Change ReportNo changes found! |
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.
Looks good! 👍
| script: | | ||
| ${PREPARE_SHELL} | ||
| export CONFIG=$PROJECT_DIRECTORY/.github/labeler.yml | ||
| export SCRIPT="$DRIVERS_TOOLS/.evergreen/github_app/apply-labels.sh" |
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.
Optional: You can also remove the apply-labels.sh 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 wasn't quite sure if those tools were still used by another driver. I'll confirm with @blink1073 and will remove from DET if possible.
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.
AFAIK the go driver was the only one using 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.
Ah, I didn't notice it was in a different repo! Yeah, checking with all the drivers is a lot more work. Maybe make a DRIVERS ticket to clean up unused scripts?
| script: | | ||
| ${PREPARE_SHELL} | ||
| export CONFIG=$PROJECT_DIRECTORY/.github/reviewers.txt | ||
| export SCRIPT="$DRIVERS_TOOLS/.evergreen/github_app/assign-reviewer.sh" |
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.
Optional: You can also remove the assign-reviewer.sh 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.
Same comment as above. I didn't realize this script is in drivers-evergreen-tools.
|
The pre-commit checks are fixed by #2151. |
e85205a to
200587c
Compare
GODRIVER-3564
Targeting release/1.17 so the changes apply to future patch releases.
Summary
Adds labeler and label-checker to ensure pull requests get the necessary labels to be used for release notes.
Labels
The labeler action automatically assign labels to pull requests. This was previously done through Evergreen, but using GitHub Actions makes more sense so we don't need to duplicate its code.
While working on this, I also noticed that we still use Evergreen to assign PR reviewers. Since reviewers are automatically assigned through branch rules, this task was not actually doing anything and has been removed.
The new label checker workflow checks for certain label requirements. It requires that one of the following labels is used:
bugfor bug fixesfeaturefor new featuresenhancementfor smaller improvementsdocumentationfor docs changesdependenciesfor dependency updates (used by dependabot)In addition, the
breakingtag can be used to denote that a pull request contains breaking changes. This should always be combined with eitherbugorfeature.For the time being, the label checker won't be required; once we're confident it works this will be added as a required check, meaning that pull requests not containing one of the above labels can't be merged.
Release Notes
The release notes configuration defines the following categories:
breakinglabel and should only be used for major versionsenhancementandfeaturelabels feed this category.bugdependencies.documentationTo clean up the release notes, the configuration excludes all pull requests created by the PR bot; this removes all "Merge branch into " entries we'd otherwise get. The
ignore-for-releaselabel can be used to specifically exclude a pull request from the changelog even if it would fall into other categories. To make sure we only report relevant dependency updates, thegithub_actionsandsubmoduleslabels are also excluded. These are used by dependabot in combination with thedependencieslabel. Since it's impossible to configure a release note category that only takes in pull requests that have two or more labels (e.g.dependenciesandgo), we have to exclude all submodule and GitHub actions dependencies from the release notes. Since these dependencies are only for development, it's fine to exclude them completely.