From 351198da134884745d239c4f4597488cdfa97d6b Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 1 Apr 2026 15:04:41 -0700 Subject: [PATCH] fix(ci): use SSH-based container status check for smoke test Co-Authored-By: Claude Opus 4.6 --- .gitea/workflows/ci.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 04d82c5..8639457 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -51,15 +51,18 @@ jobs: - name: Smoke test run: | - sleep 10 - HTTP_CODE=$(curl -sS -o /dev/null -w "%{http_code}" --max-time 15 https://flightclub.lol/ 2>/dev/null || echo "000") - if [ "$HTTP_CODE" != "200" ]; then - echo "Smoke test failed — rolling back" + sleep 15 + STATUS=$(ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \ + "cd /opt/websites/flight-club-lol && 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/flight-club-lol/.rollback-tag 2>/dev/null") if [ -n "$ROLLBACK_TAG" ]; then ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \ "cd /opt/websites/flight-club-lol && IMAGE_TAG=$ROLLBACK_TAG docker compose up -d --no-build" + echo "Rolled back to $ROLLBACK_TAG" fi exit 1 fi - echo "Smoke test passed"