From 5a21852135baf501d75c5a261bbd5adc4c6f5d06 Mon Sep 17 00:00:00 2001 From: Mikhail Lobanov Date: Thu, 15 Oct 2026 16:53:32 +0300 Subject: [PATCH] Verify health after deployment rollback --- .gitea/workflows/ci.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 2b55a0d..dcd49df 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -88,7 +88,26 @@ jobs: docker rm -f devops-platform || true if ! IMAGE="$OLD_IMAGE" docker compose up -d --no-build app; then echo "ERROR: rollback failed; manual recovery required" + exit 1 fi + + ROLLBACK_HEALTHY=false + + for attempt in $(seq 1 15); do + if docker exec devops-platform python -c \ + "import urllib.request; r=urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=2); assert r.status == 200"; then + ROLLBACK_HEALTHY=true + break + fi + sleep 2 + done + + if [ "$ROLLBACK_HEALTHY" = true ]; then + echo "Rollback successful; previous version is healthy" + else + echo "ERROR: rollback container failed health check; manual recovery required" + fi + exit 1 fi