Skip to content

Commit c4a92cf

Browse files
committed
fix: drop unnecessary 2>&1 redirect and add backoff with jitter between push retries
Remove the unnecessary stderr redirect on git push (only exit code matters for the if-condition). Add incremental backoff with jitter between retry attempts to reduce collision probability when multiple concurrent jobs race to push. Assisted-by: Claude Code <Claude@Claude.ai>
1 parent 97199bf commit c4a92cf

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

deploy-github-pages/entrypoint.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ MAX_PUSH_ATTEMPTS=5
321321
PUSH_ATTEMPT=1
322322
while [ $PUSH_ATTEMPT -le $MAX_PUSH_ATTEMPTS ]; do
323323
echo "Push attempt ${PUSH_ATTEMPT}/${MAX_PUSH_ATTEMPTS}"
324-
if git push "${GIT_REPO_URL}" "${DOCUMENTATION_BRANCH}" 2>&1; then
324+
if git push "${GIT_REPO_URL}" "${DOCUMENTATION_BRANCH}"; then
325325
echo "Deployment successful!"
326326
break
327327
fi
@@ -330,7 +330,10 @@ while [ $PUSH_ATTEMPT -le $MAX_PUSH_ATTEMPTS ]; do
330330
exit 1
331331
fi
332332
echo "Push rejected, pulling remote changes and retrying..."
333-
git pull --rebase "${GIT_REPO_URL}" "${DOCUMENTATION_BRANCH}"
334333
PUSH_ATTEMPT=$((PUSH_ATTEMPT + 1))
334+
BACKOFF=$(( (PUSH_ATTEMPT * 2) + (RANDOM % 3) ))
335+
echo "Waiting ${BACKOFF}s before retry..."
336+
sleep $BACKOFF
337+
git pull --rebase "${GIT_REPO_URL}" "${DOCUMENTATION_BRANCH}"
335338
done
336339
echo "::endgroup::"

0 commit comments

Comments
 (0)