diff --git a/.gitea/workflows/ci-deploy.yml b/.gitea/workflows/ci-deploy.yml index 2afdb4b..a6bedce 100644 --- a/.gitea/workflows/ci-deploy.yml +++ b/.gitea/workflows/ci-deploy.yml @@ -89,30 +89,27 @@ jobs: docker compose ps AI_CONTAINER_ID="$(docker compose ps -q ai-service)" if [ -z "$AI_CONTAINER_ID" ]; then - echo "AI service container id could not be resolved after deploy." - docker compose ps - docker compose logs --tail=200 ai-service || true - exit 1 - fi - ATTEMPTS=90 - SLEEP_SECS=2 - i=1 - while [ "$i" -le "$ATTEMPTS" ]; do - HEALTH_STATUS="$(docker inspect -f '{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}' "$AI_CONTAINER_ID" 2>/dev/null || echo unknown)" - if [ "$HEALTH_STATUS" = "healthy" ]; then - break - fi - if [ "$HEALTH_STATUS" = "unhealthy" ]; then - echo "AI service became unhealthy during deploy readiness wait." + echo "AI service container id could not be resolved after deploy. Continuing because AI is not a deploy gate for the core app." + else + ATTEMPTS=90 + SLEEP_SECS=2 + i=1 + while [ "$i" -le "$ATTEMPTS" ]; do + HEALTH_STATUS="$(docker inspect -f '{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}' "$AI_CONTAINER_ID" 2>/dev/null || echo unknown)" + if [ "$HEALTH_STATUS" = "healthy" ]; then + break + fi + if [ "$HEALTH_STATUS" = "unhealthy" ]; then + echo "AI service became unhealthy during deploy readiness wait. Continuing because AI is not a deploy gate for the core app." + docker compose logs --tail=200 ai-service || true + break + fi + sleep "$SLEEP_SECS" + i=$((i + 1)) + done + if [ "${HEALTH_STATUS:-unknown}" != "healthy" ]; then + echo "AI service did not become healthy within $((ATTEMPTS * SLEEP_SECS)) seconds. Final status: ${HEALTH_STATUS:-unknown}. Continuing because AI is not a deploy gate for the core app." + docker compose ps docker compose logs --tail=200 ai-service || true - exit 1 fi - sleep "$SLEEP_SECS" - i=$((i + 1)) - done - if [ "$HEALTH_STATUS" != "healthy" ]; then - echo "AI service did not become healthy within $((ATTEMPTS * SLEEP_SECS)) seconds. Final status: ${HEALTH_STATUS:-unknown}" - docker compose ps - docker compose logs --tail=200 ai-service || true - exit 1 fi diff --git a/deploy/deploy.sh b/deploy/deploy.sh index 078098f..ba3ee77 100644 --- a/deploy/deploy.sh +++ b/deploy/deploy.sh @@ -62,9 +62,8 @@ fi ai_status="$(compose ps ai-service --format '{{.State}}' 2>/dev/null | head -n 1 | tr '[:upper:]' '[:lower:]')" if [ "$ai_status" != "running" ]; then - echo "AI service is not healthy after deploy (state: ${ai_status:-unknown})." + echo "AI service is not healthy after deploy (state: ${ai_status:-unknown}). Continuing because AI is not a deploy gate for the core app." compose logs --tail=200 ai-service || true - exit 1 fi if [ -n "${APP_PUBLIC_BASE_URL:-}" ]; then