From b78aa22a7addf611b6e58aa789af24dd25c3a352 Mon Sep 17 00:00:00 2001 From: Adam Moussa Date: Fri, 21 Aug 2026 19:17:47 -0400 Subject: [PATCH] fix(ci): serialize auto-merge enable and ignore already-enabled --- .github/workflows/auto-merge.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/auto-merge.yaml b/.github/workflows/auto-merge.yaml index a42db32..f0ef235 100644 --- a/.github/workflows/auto-merge.yaml +++ b/.github/workflows/auto-merge.yaml @@ -5,6 +5,10 @@ on: types: [opened, ready_for_review, reopened, synchronize] branches: [main] +concurrency: + group: enable-auto-merge-${{ github.event.pull_request.number }} + cancel-in-progress: true + permissions: contents: write pull-requests: write @@ -29,4 +33,12 @@ jobs: echo "auto-merge already enabled" exit 0 fi - gh pr merge "$PR" --repo "$REPO" --auto + if ! out=$(gh pr merge "$PR" --repo "$REPO" --auto 2>&1); then + echo "$out" + if [ "$(gh pr view "$PR" --repo "$REPO" --json autoMergeRequest --jq '.autoMergeRequest != null')" = "true" ]; then + echo "auto-merge already enabled" + exit 0 + fi + exit 1 + fi + printf '%s\n' "$out"