ci(observability): gate frontend deploys with QA suite
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user