51 lines
2.1 KiB
YAML
51 lines
2.1 KiB
YAML
name: Vouch - Check PR
|
|
|
|
on:
|
|
pull_request_target: # zizmor: ignore[dangerous-triggers] needed to comment/close fork PRs; safe because we never check out PR HEAD ref so no fork-controlled code runs
|
|
types: [opened, reopened]
|
|
|
|
permissions: {}
|
|
|
|
jobs:
|
|
check-vouch:
|
|
runs-on: warp-ubuntu-latest-x64-2x
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write # auto-close unvouched PRs
|
|
issues: read
|
|
steps:
|
|
- uses: mitchellh/vouch/action/check-pr@c6d80ead49839655b61b422700b7a3bc9d0804a9 # v1.4.2
|
|
with:
|
|
pr-number: ${{ github.event.pull_request.number }}
|
|
auto-close: true
|
|
require-vouch: true
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
|
|
require-draft:
|
|
needs: check-vouch
|
|
permissions:
|
|
pull-requests: write # close non-draft PRs with a comment
|
|
if: >
|
|
github.event.pull_request.draft == false &&
|
|
github.event.pull_request.author_association != 'MEMBER' &&
|
|
github.event.pull_request.author_association != 'OWNER' &&
|
|
github.event.pull_request.author_association != 'COLLABORATOR' &&
|
|
github.event.pull_request.user.login != 'devin-ai-integration[bot]' &&
|
|
github.event.pull_request.user.login != 'dependabot[bot]' &&
|
|
github.event.pull_request.user.login != 'github-actions[bot]'
|
|
runs-on: warp-ubuntu-latest-x64-2x
|
|
steps:
|
|
- name: Close non-draft PR
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
run: |
|
|
STATE=$(gh pr view ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --json state -q '.state')
|
|
if [ "$STATE" != "OPEN" ]; then
|
|
echo "PR is already closed, skipping."
|
|
exit 0
|
|
fi
|
|
gh pr close ${{ github.event.pull_request.number }} \
|
|
--repo ${{ github.repository }} \
|
|
--comment "Thanks for your contribution! We require all external PRs to be opened in **draft** status first so you can address CodeRabbit review comments and ensure CI passes before requesting a review. Please re-open this PR as a draft. See [CONTRIBUTING.md](https://github.com/${{ github.repository }}/blob/main/CONTRIBUTING.md#pr-workflow) for details."
|