From 089baa72cb4a6c1de898ee44aa543e1592737651 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sat, 4 Jul 2026 11:32:23 +0900 Subject: [PATCH] fix: allow redirect on public root smoke --- .gitea/workflows/deploy.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 385fcaa..7e595b6 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -349,9 +349,15 @@ jobs: # 실제 사용자가 접속하는 경로 그대로 외부에서 검증해야 이런 장애를 CI가 스스로 잡는다. check_public() { local url="$1" + local allow_redirect="${2:-0}" local status - status=$(curl -fsSL -o /dev/null -w '%{http_code}' --max-time 15 "$url" || echo "000") - if [ "$status" != "200" ]; then + status=$(curl -s -o /dev/null -w '%{http_code}' --max-time 15 "$url" || echo "000") + if [ "$allow_redirect" = "1" ]; then + if ! printf '%s' "$status" | grep -Eq '^(200|301|302|307|308)$'; then + echo " ✗ $url → HTTP $status" >&2 + return 1 + fi + elif [ "$status" != "200" ]; then echo " ✗ $url → HTTP $status" >&2 return 1 fi @@ -362,7 +368,7 @@ jobs: echo "--- 실제 공개 도메인 종단 간 검증 (Nginx/Cloudflare 경유, 최대 3회 재시도) ---" PUBLIC_OK=false for i in 1 2 3; do - if check_public "https://www.taxbaik.com/" \ + if check_public "https://www.taxbaik.com/" 1 \ && check_public "https://www.taxbaik.com/taxbaik/" \ && check_public "https://www.taxbaik.com/taxbaik/admin/login"; then PUBLIC_OK=true