22 lines
789 B
YAML
22 lines
789 B
YAML
name: Unmergeable Labels Check
|
|
|
|
on:
|
|
pull_request:
|
|
types: [synchronize, opened, reopened, labeled, unlabeled]
|
|
|
|
jobs:
|
|
do-not-merge:
|
|
if: ${{ github.repository_owner == 'nrwl' }}
|
|
name: Prevent Merging
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check for label
|
|
run: |
|
|
echo "${{ toJSON(github.event.*.labels.*.name) }}"
|
|
node -e 'const forbidden = ["target: next major version", "pr status: needs tests", "pr status: in-progress", "blocked: needs rebase", "pr status: do not merge"];
|
|
const match = ${{ toJSON(github.event.*.labels.*.name) }}.find(l => forbidden.includes(l.toLowerCase()));
|
|
if (match) {
|
|
console.log("Cannot merge PRs that are labeled with " + match);
|
|
process.exit(1)
|
|
}'
|