summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2026-06-04 15:18:40 +0700
committerGitHub <[email protected]>2026-06-04 15:18:40 +0700
commitac32feafeb2fb0f6cc5c3010d32db319ff15ca64 (patch)
tree6e354166b49c6197be7a8117f2f815d169e762f3
parent3d0516f439cbe2c8d69a9d8dd62f7effa935d0b2 (diff)
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.
-rw-r--r--.github/labeler.yml77
-rw-r--r--.github/workflows/labeler.yml22
2 files changed, 98 insertions, 1 deletions
diff --git a/.github/labeler.yml b/.github/labeler.yml
new file mode 100644
index 000000000..6c7aa7e7d
--- /dev/null
+++ b/.github/labeler.yml
@@ -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/**'
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index 87d416f58..fe09413f1 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -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