name: Check PR labels on: pull_request: types: [labeled, unlabeled, opened, edited, synchronize] jobs: enforce-kind: name: Enforce a valid PR category runs-on: ubuntu-latest steps: - name: Check if a valid PR category is present env: LABELS: ${{ toJson(github.event.pull_request.labels.*.name) }} run: | if ! jq --exit-status 'any(test("kind/feature") or test("kind/docs") or test("kind/improvement") or test("kind/bug") or test("kind/maintenance") or test("dependencies") or test("skip-release-notes") or test("area/tech-debt"))' >/dev/null <<< $LABELS; then echo "::error ::Please set either kind/feature, kind/docs, kind/improvement, kind/bug, kind/maintenance, dependencies, skip-release-notes or area/tech-debt as label" exit 1 fi