diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1ed56fe..bfb2e55 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -91,19 +91,48 @@ deploy_feature: - echo "Waiting for deployment to be ready..." - kubectl rollout status deployment/orchard-$CI_COMMIT_REF_SLUG -n $NAMESPACE --timeout=5m - | - echo "Waiting for health endpoint (certs may take a few minutes)..." - HEALTH_URL="https://orchard-$CI_COMMIT_REF_SLUG.common.global.bsf.tools/health" + BASE_URL="https://orchard-$CI_COMMIT_REF_SLUG.common.global.bsf.tools" + + echo "=== Waiting for health endpoint (certs may take a few minutes) ===" for i in $(seq 1 30); do - if curl -sf --max-time 10 "$HEALTH_URL" > /dev/null 2>&1; then + if curl -sf --max-time 10 "$BASE_URL/health" > /dev/null 2>&1; then echo "Health check passed!" - curl -s "$HEALTH_URL" | head -c 200 - exit 0 + break fi echo "Attempt $i/30 - waiting 10s..." sleep 10 done - echo "Health check failed after 5 minutes" - exit 1 + + # Verify health endpoint + echo "" + echo "=== Health Check ===" + curl -sf "$BASE_URL/health" || { echo "Health check failed"; exit 1; } + echo "" + + # Verify API is responding + echo "" + echo "=== API Check (GET /api/v1/projects) ===" + HTTP_CODE=$(curl -sf -o /dev/null -w "%{http_code}" "$BASE_URL/api/v1/projects") + if [ "$HTTP_CODE" = "200" ]; then + echo "API responding: HTTP $HTTP_CODE" + else + echo "API check failed: HTTP $HTTP_CODE" + exit 1 + fi + + # Verify frontend is served + echo "" + echo "=== Frontend Check ===" + if curl -sf "$BASE_URL/" | grep -q ""; then + echo "Frontend is being served" + else + echo "Frontend check failed" + exit 1 + fi + + echo "" + echo "=== All checks passed! ===" + echo "Deployment URL: $BASE_URL" environment: name: review/$CI_COMMIT_REF_SLUG url: https://orchard-$CI_COMMIT_REF_SLUG.common.global.bsf.tools