name: Dependabot Auto Merge on: pull_request_target: types: - opened - reopened - synchronize - ready_for_review permissions: contents: write pull-requests: write jobs: enable-auto-merge: if: github.actor == 'dependabot[bot]' && github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - name: Fetch Dependabot metadata id: metadata uses: dependabot/fetch-metadata@v3 with: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Enable auto-merge for version updates if: | steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-major' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} PR_URL: ${{ github.event.pull_request.html_url }} run: | if gh pr view "$PR_URL" --json autoMergeRequest --jq '.autoMergeRequest != null' | grep -q true; then echo "Auto-merge is already enabled." exit 0 fi gh pr merge --auto --merge "$PR_URL"