From 8aeef814b039a2dfca3a0d07a852a027cee02a11 Mon Sep 17 00:00:00 2001 From: SBCrumb Date: Tue, 9 Sep 2025 16:12:24 -0400 Subject: [PATCH] push --- .gitea/workflows/ci.yml | 76 ++++++++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 23 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 6d043fe..9671042 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -74,24 +74,29 @@ jobs: export DOCKER_CONFIG=/tmp/docker-config mkdir -p $DOCKER_CONFIG - # Use local IP for login - try without insecure flag first + # Test local IP connectivity first REGISTRY="$GITEA_LOCAL_IP:3000" - echo "Attempting login to local registry: $REGISTRY" + echo "Testing registry connectivity to: $REGISTRY" - # First try normal login - echo "${{ secrets.token }}" | docker --config $DOCKER_CONFIG login "$REGISTRY" -u "${{ secrets.username }}" --password-stdin && { - echo "REGISTRY_URL=$REGISTRY" >> $GITHUB_ENV - echo "✅ Local registry login successful" - } || { - echo "Normal login failed, trying HTTPS domain as fallback..." - echo "${{ secrets.token }}" | docker --config $DOCKER_CONFIG login gitea.skalas.org -u "${{ secrets.username }}" --password-stdin && { - echo "REGISTRY_URL=gitea.skalas.org" >> $GITHUB_ENV - echo "✅ Domain registry login successful" + # Test if we can reach the registry endpoint + if curl -s -f "http://$REGISTRY/v2/" >/dev/null 2>&1; then + echo "✅ Registry endpoint accessible via HTTP" + # Try login with local IP + echo "${{ secrets.token }}" | docker --config $DOCKER_CONFIG login "$REGISTRY" -u "${{ secrets.username }}" --password-stdin && { + echo "REGISTRY_URL=$REGISTRY" >> $GITHUB_ENV + echo "✅ Local registry login successful" } || { - echo "❌ All login attempts failed" - exit 1 + echo "❌ Local registry login failed, using domain fallback" + echo "${{ secrets.token }}" | docker --config $DOCKER_CONFIG login gitea.skalas.org -u "${{ secrets.username }}" --password-stdin + echo "REGISTRY_URL=gitea.skalas.org" >> $GITHUB_ENV } - } + else + echo "❌ Local registry not accessible, using domain" + echo "${{ secrets.token }}" | docker --config $DOCKER_CONFIG login gitea.skalas.org -u "${{ secrets.username }}" --password-stdin + echo "REGISTRY_URL=gitea.skalas.org" >> $GITHUB_ENV + fi + + echo "Using registry: ${REGISTRY_URL:-gitea.skalas.org}" - name: Push to Gitea registry run: | @@ -106,17 +111,42 @@ jobs: docker tag nfoguard:latest "$REGISTRY/jskala/nfoguard:${{ github.sha }}" echo "Pushing to $REGISTRY..." - timeout 300 docker --config $DOCKER_CONFIG push "$REGISTRY/jskala/nfoguard:latest" && { - echo "First image pushed successfully" - timeout 300 docker --config $DOCKER_CONFIG push "$REGISTRY/jskala/nfoguard:${{ github.sha }}" && { - echo "Both images pushed successfully!" - } || echo "Second push failed" + echo "Image 1: $REGISTRY/jskala/nfoguard:latest" + echo "Image 2: $REGISTRY/jskala/nfoguard:${{ github.sha }}" + + # Push first image with detailed output + echo "=== Pushing latest tag ===" + timeout 600 docker --config $DOCKER_CONFIG push "$REGISTRY/jskala/nfoguard:latest" 2>&1 | tee /tmp/push1.log && { + echo "✅ First image pushed successfully" + FIRST_SUCCESS=true } || { - echo "Push failed. Registry: $REGISTRY" - echo "Images available:" - docker images | grep nfoguard - exit 1 + echo "❌ First push failed" + cat /tmp/push1.log + FIRST_SUCCESS=false } + + # Push second image + echo "=== Pushing SHA tag ===" + timeout 600 docker --config $DOCKER_CONFIG push "$REGISTRY/jskala/nfoguard:${{ github.sha }}" 2>&1 | tee /tmp/push2.log && { + echo "✅ Second image pushed successfully" + SECOND_SUCCESS=true + } || { + echo "❌ Second push failed" + cat /tmp/push2.log + SECOND_SUCCESS=false + } + + # Verify what actually made it + echo "=== Verifying push results ===" + curl -s "$REGISTRY/v2/jskala/nfoguard/tags/list" || echo "Could not verify tags" + + if [ "$FIRST_SUCCESS" = "true" ]; then + echo "🎉 At least one image pushed successfully!" + exit 0 + else + echo "💥 Push failed" + exit 1 + fi deploy: needs: build