From 425011d9c8cd2bdb4dc74882bcf5cbab03ae4e6b Mon Sep 17 00:00:00 2001 From: Daniel Arroyo Date: Thu, 13 Aug 2026 21:46:02 -0400 Subject: [PATCH] fix(ci): make docker push retry more aggressive against Gitea registry The Gitea registry sometimes returns 'net/http: timeout awaiting response headers' on blob uploads. The existing retry loop (3x15s) isn't enough. - Bump retries 3 -> 5 - Backoff 15s -> 30s - --max-concurrent-uploads=1 to avoid hammering a small registry Total worst-case wait: ~4 minutes (4 retries * 30s + 5 pushes ~ 30s). --- .gitea/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 9dab68f..a3e3771 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -90,14 +90,14 @@ jobs: push_with_retry() { local ref="$1" local attempt=1 - local max_attempts=3 + local max_attempts=5 while [ $attempt -le $max_attempts ]; do echo "=== Push (attempt $attempt/$max_attempts): $ref ===" - if docker push "$ref"; then + if docker push --max-concurrent-uploads=1 "$ref"; then return 0 fi - echo "::warning::Push of $ref failed, retrying in 15s..." - sleep 15 + echo "::warning::Push of $ref failed, retrying in 30s..." + sleep 30 attempt=$((attempt + 1)) done echo "::error::Push of $ref failed after $max_attempts attempts"