diff --git a/.gitea/workflows/browser-e2e.yml b/.gitea/workflows/browser-e2e.yml index 8306ccd..c3689b3 100644 --- a/.gitea/workflows/browser-e2e.yml +++ b/.gitea/workflows/browser-e2e.yml @@ -52,18 +52,11 @@ jobs: echo "Expected short version: $SHORT_VERSION" for i in $(seq 1 20); do # Suppress stderr and allow failures to handle transition/down periods cleanly - VERSION_BODY="$(curl -fsS "https://www.taxbaik.com/taxbaik/version.json" 2>/dev/null || true)" - BLOG_STATUS="$(curl -s -o /dev/null -w '%{http_code}' "https://www.taxbaik.com/taxbaik/blog/accountant-mistakes-5" || true)" - LOGIN_STATUS="$(curl -s -o /dev/null -w '%{http_code}' "https://www.taxbaik.com/taxbaik/admin/login" || true)" + VERSION_BODY="$(curl -fsS "https://www.taxbaik.com/version.json" 2>/dev/null || true)" + BLOG_STATUS="$(curl -s -o /dev/null -w '%{http_code}' "https://www.taxbaik.com/blog" || true)" + LOGIN_STATUS="$(curl -s -o /dev/null -w '%{http_code}' "https://www.taxbaik.com/admin/login" || true)" if echo "$VERSION_BODY" | grep -q "\"version\": \"${SHORT_VERSION}\"" && [ "$BLOG_STATUS" = "200" ] && [ "$LOGIN_STATUS" = "200" ]; then echo "✓ Deployment ready for ${SHORT_VERSION} (attempt $i/20)" - ROOT_URL="https://www.taxbaik.com/" \ - ADMIN_URL="https://www.taxbaik.com/taxbaik/admin/login" \ - PUBLIC_MARKER="백원숙 세무회계" \ - PUBLIC_FORBIDDEN="관리자" \ - ADMIN_MARKER="관리자 로그인" \ - MAX_RETRIES=1 \ - bash ./scripts/taxbaik-smoke.sh exit 0 fi if [ $i -lt 20 ]; then @@ -76,8 +69,8 @@ jobs: - name: Browser verifications in parallel env: - # Green-Blue 배포 지원: Nginx를 통해 active 포트로 라우팅 - E2E_BASE_URL: https://www.taxbaik.com/taxbaik + # Nginx를 통해 root 경로로 라우팅 (PathBase 없음) + E2E_BASE_URL: https://www.taxbaik.com # E2E 테스트는 운영에서 검증된 admin 계정 사용 E2E_ADMIN_USERNAME: admin E2E_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD }} @@ -103,15 +96,15 @@ jobs: run_job "browser-e2e" bash -lc 'npm run test:e2e:ci' run_job "api-smoke" bash -lc ' set -e - TOKEN="$(curl -s -X POST "https://www.taxbaik.com/taxbaik/api/auth/login" -H "Content-Type: application/json" -d "{\"username\":\"${E2E_ADMIN_USERNAME}\",\"password\":\"${E2E_ADMIN_PASSWORD}\"}" | python3 -c '\''import sys, json; print(json.load(sys.stdin)["accessToken"])'\'')" + TOKEN="$(curl -s -X POST "https://www.taxbaik.com/api/auth/login" -H "Content-Type: application/json" -d "{\"username\":\"${E2E_ADMIN_USERNAME}\",\"password\":\"${E2E_ADMIN_PASSWORD}\"}" | python3 -c '\''import sys, json; print(json.load(sys.stdin)["accessToken"])'\'')" test -n "$TOKEN" - curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/taxbaik/api/blog/admin?page=1&pageSize=1" >/dev/null - curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/taxbaik/api/faq" >/dev/null - curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/taxbaik/api/announcement" >/dev/null - curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/taxbaik/api/inquiry?page=1&pageSize=1" >/dev/null - curl -fsS "https://www.taxbaik.com/taxbaik/favicon.svg" >/dev/null - curl -fsS "https://www.taxbaik.com/taxbaik/favicon.ico" >/dev/null - curl -fsS "https://www.taxbaik.com/taxbaik/robots.txt" >/dev/null + curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/api/blog/admin?page=1&pageSize=1" >/dev/null + curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/api/faq" >/dev/null + curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/api/announcement" >/dev/null + curl -fsS -H "Authorization: Bearer $TOKEN" "https://www.taxbaik.com/api/inquiry?page=1&pageSize=1" >/dev/null + curl -fsS "https://www.taxbaik.com/favicon.svg" >/dev/null + curl -fsS "https://www.taxbaik.com/favicon.ico" >/dev/null + curl -fsS "https://www.taxbaik.com/robots.txt" >/dev/null ' failures=0