diff --git a/.github/workflows/pull-request-automation.yaml b/.github/workflows/pull-request-automation.yaml new file mode 100644 index 000000000..e390d702c --- /dev/null +++ b/.github/workflows/pull-request-automation.yaml @@ -0,0 +1,52 @@ +name: Auto review, merge and close pull requests + +on: + pull_request: + types: + - opened + - reopened +jobs: + auto-merge: + name: Auto review pull requests from bots + runs-on: ubuntu-22.04 + timeout-minutes: 5 + + permissions: + pull-requests: write + steps: + - name: Print event + run: echo "${GITHUB}" | jq + env: + GITHUB: ${{ toJson(github) }} + - name: Print context + uses: actions/github-script@v8 + with: + script: |- + console.log(context); + - name: Auto review GHCI updates + uses: actions/github-script@v8 + if: |- + startsWith(github.head_ref, 'ghci/audit/') + && (github.event.pull_request.user.login == 'geo-ghci-test[bot]' + || github.event.pull_request.user.login == 'geo-ghci-int[bot]' + || github.event.pull_request.user.login == 'geo-ghci[bot]') + with: + script: |- + github.rest.pulls.createReview({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.payload.pull_request.number, + event: 'APPROVE', + }) + - name: Auto review Renovate updates + uses: actions/github-script@v8 + if: |- + github.event.pull_request.user.login == 'renovate[bot]' + with: + script: |- + github.rest.pulls.createReview({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.payload.pull_request.number, + event: 'APPROVE', + })