47 lines
1.6 KiB
YAML
47 lines
1.6 KiB
YAML
name: Label Pull Request
|
|
on:
|
|
pull_request_target:
|
|
types: ['opened', 'reopened', 'synchronize', 'ready_for_review', 'converted_to_draft', 'closed']
|
|
branches: ['main']
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
labeler:
|
|
name: 'Apply content-based labels'
|
|
if: github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/labeler@v5
|
|
with:
|
|
sync-labels: false
|
|
peer_review:
|
|
name: 'Apply peer review label'
|
|
needs: labeler
|
|
if: >-
|
|
(github.event.action == 'opened' || github.event.action == 'reopened' ||
|
|
github.event.action == 'ready_for_review') && !github.event.pull_request.draft
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 'Add label'
|
|
run: "gh pr edit \"$PR_URL\" --add-label 'waiting-on: peer-review'"
|
|
env:
|
|
PR_URL: ${{ github.event.pull_request.html_url }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
unblock_draft_prs:
|
|
name: 'Remove waiting-on labels'
|
|
needs: labeler
|
|
if: github.event.action == 'converted_to_draft' || github.event.action == 'closed'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 'Remove labels'
|
|
run: |-
|
|
gh pr edit "$PR_URL" --remove-label 'waiting-on: peer-review' \
|
|
--remove-label 'waiting-on: core-review' \
|
|
--remove-label 'waiting-on: world-maintainer' \
|
|
--remove-label 'waiting-on: author'
|
|
env:
|
|
PR_URL: ${{ github.event.pull_request.html_url }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|