From a68907175e11955e8e87b7319b44f01f935b5d57 Mon Sep 17 00:00:00 2001 From: Roch Devost Date: Fri, 29 May 2026 16:07:39 -0400 Subject: [PATCH] fix: use exponential backoff when retrying docker compose pull Docker Hub auth endpoint (auth.docker.io) occasionally times out from GitHub Actions runners. The previous flat 10s retry was too short to recover from transient network gaps. This increases max attempts from 3 to 5 and uses exponential backoff (30s, 60s, 120s, 240s). Co-Authored-By: Claude Sonnet 4.6 --- .github/actions/pull_images/action.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/actions/pull_images/action.yml b/.github/actions/pull_images/action.yml index 3d4fac8ea00..80d7c6fe5a8 100644 --- a/.github/actions/pull_images/action.yml +++ b/.github/actions/pull_images/action.yml @@ -76,8 +76,7 @@ runs: - name: Pull shell: bash run: | - max_attempts=3 - retry_wait_seconds=10 + max_attempts=5 timeout_seconds=900 attempt=1 while true; do @@ -92,6 +91,8 @@ runs: exit 1 fi + # Exponential backoff: 30s, 60s, 120s, 240s + retry_wait_seconds=$(( 30 * (1 << (attempt - 1)) )) echo "docker compose pull failed (attempt ${attempt}/${max_attempts}), retrying in ${retry_wait_seconds}s..." sleep "${retry_wait_seconds}" attempt=$((attempt + 1))