Skip to content
42 changes: 27 additions & 15 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,38 @@
name: Auto Merge after Vercel Deployment

on:
pull_request:
types: [opened, synchronize, reopened]
check_run:
types: [completed]

jobs:
auto-merge:
if: |
github.event.check_run.name == 'Vercel' &&
github.event.check_run.conclusion == 'success'
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Wait for Vercel deployment
uses: lewagon/wait-on-check-action@v1.3.4
- name: Find associated PR
id: find-pr
uses: actions/github-script@v7
with:
ref: ${{ github.event.pull_request.head.sha }}
check-regexp: 'Vercel.*'
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 15
allowed-conclusions: success
script: |
const prs = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
head: `${context.repo.owner}:${github.event.check_run.check_suite.head_branch}`
});
if (prs.data.length > 0) {
return prs.data[0].number;
}
return null;

- name: Auto merge PR
uses: pascalgn/automerge-action@v0.15.6
- name: Enable auto-merge
if: steps.find-pr.outputs.result != 'null'
run: gh pr merge --auto --squash "#${{ steps.find-pr.outputs.result }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MERGE_METHOD: squash
MERGE_LABELS: ''
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
1 change: 1 addition & 0 deletions test-auto-merge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test