diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml index 98ef6c49..128d6a8d 100644 --- a/.gitea/workflows/cd.yaml +++ b/.gitea/workflows/cd.yaml @@ -275,6 +275,15 @@ jobs: --json | tee /tmp/alert_chain_result.json echo "alert_chain_status=pass" >> $GITHUB_OUTPUT + # Phase O-5 Wave C.2 2026-04-02 ogt: 監控覆蓋率驗證 (generate_monitoring.py --check) + # continue-on-error: true — 覆蓋率不足不阻塞部署,但反映在 TG 通知 + - name: Monitoring Coverage Check + id: monitoring_coverage + continue-on-error: true + run: | + pip install requests --quiet + python3 scripts/generate_monitoring.py --check && echo "coverage_status=pass" >> $GITHUB_OUTPUT || echo "coverage_status=fail" >> $GITHUB_OUTPUT + # [首席架構師] 新增 Playwright E2E Smoke Test 步驟 v1.0.0 2026-04-01 (台北時間) # continue-on-error: true — smoke 失敗不阻塞部署,但結果會反映在 TG 通知 - name: E2E Smoke Test @@ -295,7 +304,8 @@ jobs: env: SMOKE_RESULT: ${{ steps.smoke.outcome == 'success' && '✅' || '⚠️' }} ALERT_CHAIN_RESULT: ${{ steps.alert_chain_smoke.outcome == 'success' && '✅' || '⚠️' }} - TG_MSG: "✅ AWOOOI 部署完成\n├ 📝 ${{ steps.commit.outputs.message }}\n├ 🔖 ${{ steps.commit.outputs.short_sha }}\n├ ⏱️ 耗時: ${MINUTES}m ${SECONDS}s\n├ 📦 API: ✅ Web: ✅\n├ 🩺 Health: ✅\n├ 🔗 Alert Chain: ${ALERT_CHAIN_RESULT}\n└ 🎭 Smoke: ${SMOKE_RESULT}" + MONITORING_RESULT: ${{ steps.monitoring_coverage.outcome == 'success' && '✅' || '⚠️' }} + TG_MSG: "✅ AWOOOI 部署完成\n├ 📝 ${{ steps.commit.outputs.message }}\n├ 🔖 ${{ steps.commit.outputs.short_sha }}\n├ ⏱️ 耗時: ${MINUTES}m ${SECONDS}s\n├ 📦 API: ✅ Web: ✅\n├ 🩺 Health: ✅\n├ 🔗 Alert Chain: ${ALERT_CHAIN_RESULT}\n├ 📊 Monitoring: ${MONITORING_RESULT}\n└ 🎭 Smoke: ${SMOKE_RESULT}" run: | END_TIME=$(date +%s) DURATION=$((END_TIME - ${{ steps.commit.outputs.start_time }}))