From fab6cfc6cd1e64703be8e38e0e3b94fbca28c3f8 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 4 Nov 2024 16:07:38 +0100 Subject: [PATCH] Create pr-review.yml Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- .github/pr-review.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/pr-review.yml diff --git a/.github/pr-review.yml b/.github/pr-review.yml new file mode 100644 index 00000000..44c3cea5 --- /dev/null +++ b/.github/pr-review.yml @@ -0,0 +1,28 @@ +name: Pull Request Review Enforcement + +on: + pull_request: + types: [opened, reopened, synchronize] + +jobs: + enforce-review-requirements: + runs-on: ubuntu-latest + + steps: + - name: Check out the code + uses: actions/checkout@v2 + + - name: Verify Reviewer Approvals + id: review-check + run: | + reviews=$(gh api repos/$GITHUB_REPOSITORY/pulls/$GITHUB_EVENT_NUMBER/reviews --jq '[.[] | select(.state == "APPROVED") | .user.login] | unique | length') + if [ "$reviews" -lt 2 ]; then + echo "PR requires at least 2 approvals from the Contributor team." + exit 1 + fi + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Confirm Ready to Merge + if: ${{ steps.review-check.outputs.reviews == '2' }} + run: echo "PR is ready to be merged."