diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 193a627..ea414bd 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -158,10 +158,15 @@ jobs: - name: Push image run: | - docker push registry.johnogle.info/openclaw:${{ steps.meta.outputs.tag }} - # Push latest tag separately — large images can timeout if pushed - # back-to-back. The versioned tag push above populates the registry - # layer cache, so this is mostly a manifest push. + # Push versioned tag with retry (large images can timeout on slow connections) + for i in 1 2 3; do + if docker push registry.johnogle.info/openclaw:${{ steps.meta.outputs.tag }}; then + break + fi + echo "Push attempt $i failed, retrying in 10s..." + sleep 10 + done + # Push latest tag — mostly a manifest push since layers already exist docker push registry.johnogle.info/openclaw:latest || \ echo "::warning::Failed to push :latest tag (versioned tag already pushed)"