https://pvzm.net/ to play [Read-only GitHub mirror] pvzm.net
modded vs pvz plants-vs-zombies plantsvszombies javascript online zombie noads jspvz pvzm game plants plant
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add workflow to require PR approval

authored by

Clay and committed by
GitHub
698b90b4 c065b2ca

+38
+38
.github/workflows/require-approval.yml
··· 1 + name: Require Approval 2 + 3 + on: 4 + pull_request: 5 + types: [opened, synchronize, reopened, review_requested] 6 + pull_request_review: 7 + types: [submitted, dismissed] 8 + 9 + jobs: 10 + check-approval: 11 + name: Check for PR Approval 12 + runs-on: ubuntu-latest 13 + steps: 14 + - name: Check for approved review 15 + uses: actions/github-script@v7 16 + with: 17 + script: | 18 + const reviews = await github.rest.pulls.listReviews({ 19 + owner: context.repo.owner, 20 + repo: context.repo.repo, 21 + pull_number: context.payload.pull_request.number, 22 + }); 23 + 24 + // Find the latest review state per reviewer 25 + const latestByUser = {}; 26 + for (const review of reviews.data) { 27 + if (review.state === 'APPROVED' || review.state === 'CHANGES_REQUESTED' || review.state === 'DISMISSED') { 28 + latestByUser[review.user.login] = review.state; 29 + } 30 + } 31 + 32 + const approved = Object.values(latestByUser).some(state => state === 'APPROVED'); 33 + 34 + if (!approved) { 35 + core.setFailed('This PR requires at least one approved review before merging.'); 36 + } else { 37 + core.info('PR has at least one approval. Good to go.'); 38 + }