fix(ci): E2E kubectl 診斷改為非阻塞 (graceful fallback)

- 移除對 KUBECONFIG secret 的依賴
- kubectl 無法連線時 graceful 跳過
- 保留 API health check 作為主要驗證

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-03-29 20:26:30 +08:00
parent f3d01bb410
commit 0e24f73399

View File

@@ -70,12 +70,16 @@ jobs:
run: uv sync
- name: Check K8s Status
env:
KUBECONFIG: ${{ secrets.KUBECONFIG }}
run: |
echo "🔍 檢查 K8s 服務狀態..."
echo "$KUBECONFIG" | base64 -d > /tmp/kubeconfig
export KUBECONFIG=/tmp/kubeconfig
# 使用 runner 本地的 kubectl 配置 (與 CD 一致)
# 如果沒有配置,跳過 K8s 診斷
if ! kubectl cluster-info > /dev/null 2>&1; then
echo "⚠️ kubectl 無法連線叢集,跳過 K8s 診斷"
echo " (Runner 可能沒有 kubectl 存取權限)"
exit 0
fi
echo "📦 Pod 狀態:"
kubectl get pods -n awoooi-prod -l app=awoooi-api -o wide || echo "⚠️ kubectl 失敗"
@@ -88,8 +92,6 @@ jobs:
echo "📋 Endpoints:"
kubectl get endpoints -n awoooi-prod awoooi-api || echo "⚠️ kubectl 失敗"
rm -f /tmp/kubeconfig
- name: Check API Health
run: |
API_URL="${{ github.event.inputs.api_url || env.DEFAULT_API_URL }}"