Repository navigation
Label pull requests by changed files and linked issue type - #5643
Merged
Merged
Conversation
Pull requests were left unlabeled unless a bot opened them. Path rules now add the package-manager, translations and appearance labels, and a pull request that closes an issue inherits its bug / new-feature / enhancement label when the linked issues agree on one. translations only counts non-English language files, since most feature PRs add strings to lang_en.json. A PR touching more than three areas gets no area label. The workflow runs on pull_request_target and never checks out PR code, and the labeler reads its config from the base branch. release.yml groups generated release notes by those type labels and leaves Dependabot bumps out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The labeler configuration counts only newly added labels, allowing previously labeled PRs to exceed the intended three-area cutoff.
1 open issue
What changed in this PR
Adds non-AI pull request labeling to complement issue triage and organize GitHub-generated release notes.
Changes:
- Maps changed paths to package-manager, appearance, and translation labels, excluding English-only translation changes.
- Adds a fork-compatible workflow that labels PRs without checking out their code and inherits an unambiguous type label from linked issues.
- Groups generated release notes by type and excludes dependency updates.
| File | Description |
|---|---|
.github/workflows/pr-labeler.yml |
Runs path-based labeling and linked-issue type inheritance. |
.github/release.yml |
Defines release-note categories and exclusions. |
.github/labeler.yml |
Defines path rules and the changed-file label limit. |
Review effort: Balanced
There was a problem hiding this comment.
🤖 This pull request will not be approved automatically: it modifies files listed in human-review-paths, so a human review is required.
.github/labeler.ymlmatches.github/.github/release.ymlmatches.github/.github/workflows/pr-labeler.ymlmatches.github/
Integration Details
{
"deliveryId": "cc583ff0-d46f-11f1-8fa7-7ed3bc34b95d",
"headSha": "a28c4b55d3870a95a8854ad1417d4d5c1790fbb0"
}
Maxim Buisson (MaxBuisson)
approved these changes
Oct 30, 2026
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.

Issues are labeled by the triage workflow, but PRs are left unlabeled unless a bot opens them. This adds labeling for PRs without using AI.
.github/labeler.yml+.github/workflows/pr-labeler.ymlactions/labeler@v7addswinget,scoop,chocolatey,pip,npm,powershell,cargo,dotnet-toolorvcpkgwhen the PR changes that manager's project folder,appearanceforAssets/Styles, andtranslationsfor non-English language files.lang_en.jsonis excluded because most feature PRs add strings to it.changed-files-labels-limit: 3), so a cross-cutting refactor isn't plastered with labels. The cap applies per run, not per PR: labels already on the PR don't count, so a PR that grows into more areas over several pushes can still end up with more than three.bug/new-feature/enhancementlabel from the issues the PR closes. It only does this when the PR has no type label yet and the linked issues agree on exactly one.pull_request_targetso fork PRs can be labeled. It never checks out PR code, and the labeler reads its config from the base branch..github/release.ymlgh release create --generate-notes) under New features, Improvements, Bug fixes, Translations and Other, and leaves out Dependabot /github_actionsbumps. It has no effect unless that feature is used.