ci(labeler): auto-apply Port labels from changed driver files (#3673)

* ci(labeler): auto-apply Port labels from changed driver files

Add path-based labeling so a PR touching a dcd/hcd driver under
src/portable/ gets the matching "Port <ip>" label automatically.
This commit is contained in:
Ha Thach
2026-06-04 15:18:40 +07:00
committed by GitHub
parent 3d0516f439
commit ac32feafeb
2 changed files with 98 additions and 1 deletions

77
.github/labeler.yml vendored Normal file
View File

@ -0,0 +1,77 @@
# Path-based auto-labeling for USB IP / port drivers.
# Maps changed dcd/hcd files under src/portable/ to their "Port <ip>" label.
# Consumed by actions/labeler (see .github/workflows/labeler.yml -> label-port job).
"Port DWC2":
- changed-files:
- any-glob-to-any-file: 'src/portable/synopsys/dwc2/**'
"Port EHCI":
- changed-files:
- any-glob-to-any-file: 'src/portable/ehci/**'
"Port OHCI":
- changed-files:
- any-glob-to-any-file: 'src/portable/ohci/**'
"Port FSDev":
- changed-files:
- any-glob-to-any-file: 'src/portable/st/stm32_fsdev/**'
"Port ChipIdea":
- changed-files:
- any-glob-to-any-file: 'src/portable/chipidea/**'
"Port NXP IP3511":
- changed-files:
- any-glob-to-any-file: 'src/portable/nxp/lpc_ip3511/**'
"Port NXP IP3516":
- changed-files:
- any-glob-to-any-file: 'src/portable/nxp/lpc_ip3516/**'
"Port MUSB":
- changed-files:
- any-glob-to-any-file:
- 'src/portable/mentor/musb/**'
- 'src/portable/sunxi/**'
"Port RUSB2":
- changed-files:
- any-glob-to-any-file: 'src/portable/renesas/rusb2/**'
"Port WCH USBFS":
- changed-files:
- any-glob-to-any-file: 'src/portable/wch/*usbfs*'
"Port WCH USBHS":
- changed-files:
- any-glob-to-any-file: 'src/portable/wch/*usbhs*'
"Port MAX3421":
- changed-files:
- any-glob-to-any-file: 'src/portable/analog/max3421/**'
"Port SAMD":
- changed-files:
- any-glob-to-any-file: 'src/portable/microchip/samd/**'
"Port SAMG":
- changed-files:
- any-glob-to-any-file: 'src/portable/microchip/samg/**'
"Port nRF":
- changed-files:
- any-glob-to-any-file: 'src/portable/nordic/nrf5x/**'
"Port Nuvoton":
- changed-files:
- any-glob-to-any-file: 'src/portable/nuvoton/**'
"Port RP2":
- changed-files:
- any-glob-to-any-file: 'src/portable/raspberrypi/**'
"Port MSP430":
- changed-files:
- any-glob-to-any-file: 'src/portable/ti/msp430x5xx/**'

View File

@ -4,12 +4,14 @@ on:
issues:
types: [opened]
pull_request_target:
types: [opened]
types: [opened, synchronize, reopened]
discussion:
types: [created]
jobs:
label-priority:
# Author-based priority labels: only on issue/PR/discussion creation, not on PR updates.
if: github.event_name != 'pull_request_target' || github.event.action == 'opened'
runs-on: ubuntu-latest
permissions:
issues: write
@ -160,3 +162,21 @@ jobs:
});
}
}
# Path-based Port labels: attach "Port <ip>" when a PR touches the matching
# dcd/hcd driver under src/portable/. Mapping lives in .github/labeler.yml.
label-port:
if: github.event_name == 'pull_request_target'
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write # allow auto-creating a Port label that doesn't exist yet
steps:
- uses: actions/labeler@v5
with:
configuration-path: .github/labeler.yml
# sync-labels so a Port label is removed once a PR no longer touches
# that driver (job reruns on synchronize). Only labels listed in
# labeler.yml are managed, so author-based Prio/Sponsor labels are untouched.
sync-labels: true