mirror of
https://github.com/lukaszraczylo/shared-actions.git
synced 2026-10-17 05:37:45 +00:00
fix(autoupdate): retry the PR merge on a transient GitHub error
This commit is contained in:
@@ -561,11 +561,21 @@ jobs:
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
# --match-head-commit refuses to merge anything newer than the commit that was tested.
|
# --match-head-commit refuses to merge anything newer than the commit that was tested.
|
||||||
if ! gh pr merge "$pr" --repo "$GITHUB_REPOSITORY" --squash --delete-branch \
|
# GitHub answers 5xx now and then; a failed call may still have merged, so check the state before retrying.
|
||||||
--match-head-commit "$HEAD_SHA" \
|
merged=false
|
||||||
--subject "$SUBJECT" \
|
for _ in 1 2 3; do
|
||||||
--body "Automated dependency update. All tests passed." \
|
if gh pr merge "$pr" --repo "$GITHUB_REPOSITORY" --squash --delete-branch \
|
||||||
${ADMIN:+--admin}; then
|
--match-head-commit "$HEAD_SHA" \
|
||||||
|
--subject "$SUBJECT" \
|
||||||
|
--body "Automated dependency update. All tests passed." \
|
||||||
|
${ADMIN:+--admin}; then
|
||||||
|
merged=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 10
|
||||||
|
[ "$(gh pr view "$pr" --repo "$GITHUB_REPOSITORY" --json state --jq .state)" = MERGED ] && { merged=true; break; }
|
||||||
|
done
|
||||||
|
if [ "$merged" != true ]; then
|
||||||
gh pr close "$pr" --repo "$GITHUB_REPOSITORY" --comment "The tests passed, but GitHub refused the merge. See the workflow run. The next run tries again."
|
gh pr close "$pr" --repo "$GITHUB_REPOSITORY" --comment "The tests passed, but GitHub refused the merge. See the workflow run. The next run tries again."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user