chore: Scheduled updates (Firmware, Hardware, Translations) #1643
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
| name: Check PR Labels | |
| on: | |
| pull_request: | |
| types: [edited, labeled] | |
| permissions: | |
| pull-requests: read | |
| contents: read | |
| jobs: | |
| check-label: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check for PR labels | |
| uses: actions/github-script@v8 | |
| with: | |
| script: | | |
| // Always fetch the latest labels from the GitHub API to avoid stale context | |
| const prNumber = context.payload.pull_request.number; | |
| const { data: pr } = await github.rest.pulls.get({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| pull_number: prNumber, | |
| }); | |
| const latestLabels = pr.labels.map(label => label.name); | |
| const requiredLabels = ['bugfix', 'enhancement', 'automation', 'dependencies', 'repo', 'release']; | |
| const hasRequiredLabel = latestLabels.some(label => requiredLabels.includes(label)); | |
| console.log('Latest labels:', latestLabels); | |
| if (!hasRequiredLabel) { | |
| core.setFailed(`PR must have at least one of the following labels before it can be merged: ${requiredLabels.join(', ')}.`); | |
| } |