diff --git a/.github/workflows/check_reviews.yml b/.github/workflows/check_reviews.yml new file mode 100644 index 00000000000..e7c0a5cb7e6 --- /dev/null +++ b/.github/workflows/check_reviews.yml @@ -0,0 +1,41 @@ +name: Review Validity Check + +on: + pull_request: + types: [synchronize] + branches: + - develop + +permissions: + pull-requests: write + +jobs: + dismiss_approved_reviews: + runs-on: ubuntu-latest + steps: + - name: Dismiss Approved Reviews + uses: actions/github-script@v6 + with: + script: | + const prNumber = context.payload.pull_request.number; + + const reviews = await github.paginate( + github.rest.pulls.listReviews, + { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: prNumber, + } + ); + + for (const review of reviews) { + if (review.state === "APPROVED") { + await github.rest.pulls.dismissReview({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: prNumber, + review_id: review.id, + message: "Automatically dismissed because new commits were added.", + }); + } + }