ci(observability): gate frontend deploys with QA suite
Some checks failed
CD Pipeline / deploy (push) Has been cancelled

This commit is contained in:
OoO
2026-05-05 23:39:00 +08:00
parent 3db8f5c5b2
commit 4380fa641c
3 changed files with 32 additions and 0 deletions

View File

@@ -87,6 +87,19 @@ jobs:
echo "label=🔨 強制重建 Docker Image" >> $GITHUB_OUTPUT
exit 0
fi
- name: 偵測 AI 觀測台前端 QA 是否需要執行
id: observability_qa
run: |
CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "")
echo "$CHANGED"
if echo "$CHANGED" | grep -qE '^(templates/admin/.*|templates/ewoooc_base\.html|templates/components/_ewoooc_shell\.html|static/css/observability-system\.css|web/static/css/observability-system\.css|routes/admin_observability_routes\.py|scripts/(check_observability_|observability_contract|sync_observability_css)|docs/guides/observability_ui_governance\.md|docs/guides/deployment_sop\.md)'; then
echo "needed=true" >> $GITHUB_OUTPUT
echo "🎛️ AI 觀測台 QA: required"
else
echo "needed=false" >> $GITHUB_OUTPUT
echo " AI 觀測台 QA: skipped"
fi
CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "")
if echo "$CHANGED" | grep -qE '^(Dockerfile|requirements\.txt|docker-compose\.yml)$'; then
echo "type=rebuild" >> $GITHUB_OUTPUT
@@ -144,6 +157,12 @@ jobs:
run: |
apt-get update -qq && apt-get install -y -qq rsync openssh-client
- name: AI 觀測台 Pre-deploy 靜態 QA
if: steps.observability_qa.outputs.needed == 'true'
run: |
bash ./scripts/quick_review.sh --sync-observability-css
bash ./scripts/quick_review.sh --observability-qa --skip-production
# ── 模式 A僅同步 Python 檔案(最常見,~10s ────────────────────────
- name: 同步 Python 檔案至 188
if: steps.deploy_type.outputs.type == 'sync'
@@ -360,6 +379,11 @@ jobs:
fi
echo "✅ SPA Shadow OK — Flask 真接到請求etag=$ETAG xpt=$XPT clen=$CLEN"
- name: AI 觀測台 Post-deploy Production QA
if: success() && steps.observability_qa.outputs.needed == 'true'
run: |
bash ./scripts/quick_review.sh --observability-smoke --base-url https://mo.wooo.work --timeout 12
# ── 觸發 Post-Deploy Code Review ─────────────────────────────────────
- name: 觸發 AI Code Review
if: success()