chore: add script to audit changelog labels on merged PRs#10391
Merged
Conversation
michalsn
approved these changes
Jul 8, 2026
5 tasks
9b3dd02 to
c94535e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Follow-up to #10390. The changelog quality depends on PRs being labeled before the release notes are generated, but missing labels currently only surface at release time via the catch-all "Others" category. This PR adds
admin/check-pr-labels.php(requires the authenticated GitHub CLI) so labels can be audited at any time:php admin/check-pr-labels.php 4.7.3), defaulting to the latest release. The release's publish timestamp is resolved automatically, so there are no dates to remember.fix:→ bug,feat:→ new feature,perf:→ enhancement,refactor:→ refactor. Titles typedchore:/ci:/docs:/style:/test:need no changelog label and are ignored.system/(test-only refactors may use the testing label instead), and release process PRs ("Prep for x.y.z release", "x.y.z Ready code", "x.y.z Merge code") are skipped since they carry no labels.gh pr edit ... --add-labelcommand per finding, so after reviewing the list the labels can be applied by pasting the block (minus any unwarranted lines).Also included:
gh, with the same explicit CI-skip message pattern asGenerateChangelogTest.The script has already paid for itself: a run since v4.7.3 surfaced 20+ unlabeled
feat:PRs targeting4.8, twofix:PRs missing bug, and onesystem/-touchingrefactor:PR. The suggested labels have since been applied using the script's emitted commands, so a fresh run against the same release now reports no findings.Checklist: