diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml new file mode 100644 index 00000000..499cd25b --- /dev/null +++ b/.github/workflows/automerge.yml @@ -0,0 +1,34 @@ +name: Automerge +on: + pull_request_target: + types: [opened, synchronize, reopened, review_requested] + +permissions: + contents: write + pull-requests: write + packages: read + +jobs: + renovate-automerge: + runs-on: ubuntu-latest + if: github.actor == 'renovate[bot]' + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Approve PR if not already approved + run: | + if [ "$(gh pr view "$PR_URL" --json reviewDecision -q .reviewDecision)" != "APPROVED" ]; then + gh pr review --approve "$PR_URL" + else + echo "PR already approved." + fi + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Enable auto-merge for Renovate PRs + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.mergify.yml b/.mergify.yml deleted file mode 100644 index 11d12c34..00000000 --- a/.mergify.yml +++ /dev/null @@ -1,19 +0,0 @@ -pull_request_rules: - - name: Automatic merge once requested reviews are complete - conditions: - - and: - - "#approved-reviews-by>=1" - - "#review-requested=0" - - "#changes-requested-reviews-by=0" - - check-success=CI - actions: - merge: - method: merge - - name: automatic merge for Renovate pull requests - conditions: - - and: - - author=renovate[bot] - - check-success=CI - actions: - merge: - method: merge