diff --git a/.github/workflows/dependabot-review.yml b/.github/workflows/dependabot-review.yml new file mode 100644 index 0000000..2696328 --- /dev/null +++ b/.github/workflows/dependabot-review.yml @@ -0,0 +1,35 @@ +name: Dependabot Auto-Review + +on: + pull_request: + +permissions: + contents: write + pull-requests: write + +jobs: + auto-review: + name: Auto-approve & merge + runs-on: ubuntu-latest + if: github.actor == 'dependabot[bot]' + + steps: + - name: Fetch Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Auto-approve minor and patch updates + if: steps.metadata.outputs.update-type != 'version-update:semver-major' + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Auto-merge minor and patch updates + if: steps.metadata.outputs.update-type != 'version-update:semver-major' + run: gh pr merge --auto --squash "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}