Skip to content

Auto-merge Dependabot PRs #253

Auto-merge Dependabot PRs

Auto-merge Dependabot PRs #253

name: Auto-merge Dependabot PRs
on:
workflow_run:
workflows: ["Test"]
types: [completed]
permissions:
contents: write
pull-requests: write
jobs:
auto-merge:
if: >-
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.actor.login == 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- name: Find and merge Dependabot PR
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
run: |
pr_number=$(gh api "repos/$REPO/commits/$HEAD_SHA/pulls" \
--jq 'map(select(.user.login == "dependabot[bot]")) | .[0].number')
if [ -z "$pr_number" ] || [ "$pr_number" = "null" ]; then
echo "No Dependabot PR found for SHA $HEAD_SHA"
exit 0
fi
gh pr review --approve "$pr_number" -R "$REPO"
gh pr merge --squash "$pr_number" -R "$REPO"