mirror of
https://github.com/hathach/tinyusb.git
synced 2026-08-18 11:02:16 +00:00
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:
77
.github/labeler.yml
vendored
Normal file
77
.github/labeler.yml
vendored
Normal 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/**'
|
||||
22
.github/workflows/labeler.yml
vendored
22
.github/workflows/labeler.yml
vendored
@ -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
|
||||
|
||||
Reference in New Issue
Block a user