name: Dependabot Auto Merge on: pull_request: types: - opened - synchronize - reopened permissions: contents: write pull-requests: write concurrency: group: dependabot-auto-merge-${{ github.event.pull_request.number }} cancel-in-progress: true jobs: auto_merge: if: github.event.pull_request.user.login == 'dependabot[bot]' runs-on: ubuntu-latest steps: - name: Fetch Dependabot metadata id: metadata uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a with: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Enable auto-merge for patch and minor updates if: | steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' run: gh pr merge --auto --merge "$PR_URL" env: PR_URL: ${{ github.event.pull_request.html_url }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Keep major updates for manual review if: steps.metadata.outputs.update-type == 'version-update:semver-major' run: echo "Major version update detected. Auto-merge is intentionally disabled."