name: Check PR permissions: {} on: pull_request_target: # zizmor: ignore[dangerous-triggers] types: - opened - edited - synchronize jobs: pr: if: github.repository == 'oxc-project/oxc' name: Label and Check PR Title permissions: contents: read pull-requests: write runs-on: ubuntu-latest steps: - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1 - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5 - name: Validate PR title id: pr-title uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: requireScope: true types: | build chore ci docs feat fix perf refactor release revert style test - name: Get category label from PR title id: get-category env: PR_TYPE: ${{ steps.pr-title.outputs.type }} run: | case "$PR_TYPE" in "feat") CATEGORY="C-enhancement" ;; "fix") CATEGORY="C-bug" ;; "test") CATEGORY="C-test" ;; "refactor" | "chore" | "style") CATEGORY="C-cleanup" ;; "docs") CATEGORY="C-docs" ;; "perf") CATEGORY="C-performance" ;; *) CATEGORY="" ;; esac echo "CATEGORY=$CATEGORY" >> $GITHUB_OUTPUT - name: Add category label uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3 if: ${{ steps.get-category.outputs.CATEGORY != '' }} with: labels: ${{ steps.get-category.outputs.CATEGORY }}