From c3498bda7604bd243e8e87f68fca2df904a68e4b Mon Sep 17 00:00:00 2001 From: grabowski Date: Wed, 13 Aug 2025 17:16:49 +0700 Subject: [PATCH] test --- .gitea/workflows/release.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index e6aaa01..3e00ac2 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -187,16 +187,16 @@ jobs: run: | set -euo pipefail echo "🚀 Testing ${{ needs.create-release.outputs.version }} deployment locally..." - + # Create a dedicated network so we can resolve by container name docker network create ci_net || true - + # Pull the built image docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.create-release.outputs.version }} - + # Stop & remove any existing container docker rm -f ping-river-monitor-test 2>/dev/null || true - + # Start the container on the user-defined network docker run -d \ --name ping-river-monitor-test \ @@ -205,24 +205,24 @@ jobs: -e LOG_LEVEL=INFO \ -e DB_TYPE=sqlite \ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.create-release.outputs.version }} - + echo "✅ Container started for testing" - name: Health check after deployment run: | set -euo pipefail echo "⏳ Waiting for application to start..." - + # Pull a curl-only image for probing (keeps your app image slim) docker pull curlimages/curl:8.10.1 - + # Helper: curl via a sibling container on the SAME Docker network probe() { local url="$1" docker run --rm --network ci_net curlimages/curl:8.10.1 \ -sS --max-time 5 --connect-timeout 3 -w "HTTP_CODE:%{http_code}" "$url" || true } - + # Wait for /health (up to ~3m 45s) for i in {1..15}; do echo "🔍 Attempt $i/15: checking http://ping-river-monitor-test:8000/health" @@ -246,7 +246,7 @@ jobs: exit 1 fi done - + echo "🧪 Testing API endpoints…" endpoints=("health" "docs" "stations" "metrics") for ep in "${endpoints[@]}"; do @@ -262,7 +262,7 @@ jobs: exit 1 fi done - + echo "✅ All health checks passed!" - name: (Fallback) Probe via host-published port @@ -276,6 +276,7 @@ jobs: -sS --max-time 5 --connect-timeout 3 -w "HTTP_CODE:%{http_code}\n" \ "http://$HOST_GATEWAY:8080/health" || true + - name: Container logs and cleanup if: always() run: |