diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index d4ba1f0..a6b838a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -49,11 +49,13 @@ jobs: - name: Smoke test run: | - sleep 30 - HTTP_CODE=$(ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \ - "curl -sSL -o /dev/null -w '%{http_code}' --max-time 30 https://ebb-staging.jeffemmett.com/ 2>/dev/null || echo 000") - if [ "$HTTP_CODE" -lt 200 ] || [ "$HTTP_CODE" -ge 400 ]; then - echo "Smoke test failed (HTTP $HTTP_CODE) — rolling back" + sleep 15 + STATUS=$(ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \ + "cd /opt/websites/ebb-n-flow-website && docker compose ps --format '{{.Status}}' 2>/dev/null | head -1 || echo 'unknown'") + if echo "$STATUS" | grep -qi "up"; then + echo "Smoke test passed (container status: $STATUS)" + else + echo "Smoke test failed (container status: $STATUS) — rolling back" ROLLBACK_TAG=$(ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} "cat /opt/websites/ebb-n-flow-website/.rollback-tag 2>/dev/null") if [ -n "$ROLLBACK_TAG" ]; then ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \ @@ -62,4 +64,3 @@ jobs: fi exit 1 fi - echo "Smoke test passed (HTTP $HTTP_CODE)"