diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index fd7dc1ded1..07e8164387 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -306,4 +306,13 @@ jobs: image_args+=("ghcr.io/homebrew/ubuntu${VERSION}@sha256:$(<"${RUNNER_TEMP}/digests/${VERSION}-arm64")") fi - docker buildx imagetools create "${tag_args[@]}" "${image_args[@]}" + attempts=0 + until docker buildx imagetools create "${tag_args[@]}" "${image_args[@]}"; do + attempts=$((attempts + 1)) + if [[ $attempts -ge 3 ]]; then + echo "[$(date -u)] ERROR: Failed after 3 attempts." + exit 1 + fi + echo "Push failed (attempt $attempts). Retrying in $((attempts * 5)) seconds..." + sleep $((attempts * 5)) + done