chore: fix permissions for the draft labeling automation (#6732)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
parent
0cdb63edd1
commit
31d2417dde
@ -1,56 +1,62 @@
|
|||||||
name: Mark PR as draft when changes are requested
|
name: Mark PR as draft when changes are requested
|
||||||
|
|
||||||
on:
|
# pull_request_target is safe here because:
|
||||||
pull_request_review:
|
# 1. Does not use any external actions; only uses the GitHub CLI via run commands
|
||||||
types: [submitted]
|
# 2. Has minimal permissions
|
||||||
|
# 3. Doesn't checkout or execute any untrusted code from PRs
|
||||||
pull_request:
|
# 4. Only adds/removes labels or changes the draft status
|
||||||
types: [labeled]
|
on: # zizmor: ignore[dangerous-triggers]
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- review_submitted
|
||||||
|
- labeled
|
||||||
|
- ready_for_review
|
||||||
|
|
||||||
permissions: {}
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
mark-draft:
|
mark-draft:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
if: |
|
if: |
|
||||||
(
|
(
|
||||||
github.event_name == 'pull_request_review' &&
|
github.event.action == 'review_submitted' &&
|
||||||
github.event.review.state == 'changes_requested'
|
github.event.review.state == 'changes_requested'
|
||||||
) || (
|
) || (
|
||||||
github.event_name == 'pull_request' &&
|
github.event.action == 'labeled' &&
|
||||||
github.event.label.name == 'pr:please address review comments'
|
github.event.label.name == 'pr:please address review comments'
|
||||||
)
|
)
|
||||||
steps:
|
steps:
|
||||||
- name: Add label on requested changes
|
- name: Add label on requested changes
|
||||||
if: github.event_name == 'pull_request_review'
|
if: github.event.review.state == 'changes_requested'
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.MARK_AS_DRAFT_TOKEN }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
||||||
REPO: ${{ github.repository }}
|
|
||||||
run: |
|
run: |
|
||||||
gh issue edit "$PR_NUMBER" \
|
gh issue edit "${{ github.event.pull_request.number }}" \
|
||||||
--repo "$REPO" \
|
--repo "${{ github.repository }}" \
|
||||||
--add-label "pr:please address review comments"
|
--add-label "pr:please address review comments"
|
||||||
|
|
||||||
- name: Mark PR as draft
|
- name: Mark PR as draft
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.MARK_AS_DRAFT_TOKEN }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
PR_URL: ${{ github.event.pull_request.html_url }}
|
run: |
|
||||||
run: gh pr ready "$PR_URL" --undo || true
|
gh pr ready "${{ github.event.pull_request.number }}" --undo || true
|
||||||
|
|
||||||
ready-for-review:
|
ready-for-review:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.event_name == 'pull_request' && github.event.action == 'ready_for_review'
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
if: github.event.action == 'ready_for_review'
|
||||||
steps:
|
steps:
|
||||||
- name: Update labels for review
|
- name: Update labels for review
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.MARK_AS_DRAFT_TOKEN }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
||||||
REPO: ${{ github.repository }}
|
|
||||||
run: |
|
run: |
|
||||||
gh issue edit "$PR_NUMBER" \
|
gh issue edit "${{ github.event.pull_request.number }}" \
|
||||||
--repo "$REPO" \
|
--repo "${{ github.repository }}" \
|
||||||
--remove-label "pr:please address review comments" || true
|
--remove-label "pr:please address review comments" || true
|
||||||
|
|
||||||
gh issue edit "$PR_NUMBER" \
|
gh issue edit "${{ github.event.pull_request.number }}" \
|
||||||
--repo "$REPO" \
|
--repo "${{ github.repository }}" \
|
||||||
--add-label "pr:needs review"
|
--add-label "pr:needs review"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user