From 234f7febd00bd8474833d90d6e0c113b2fee000c Mon Sep 17 00:00:00 2001 From: OG T Date: Thu, 2 Apr 2026 21:33:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(ci):=20Phase=20O-5=20Wave=20C.2=20?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=20monitoring=20coverage=20check=20step?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - cd.yaml 新增 Monitoring Coverage Check step (generate_monitoring.py --check) - continue-on-error: true — 不阻塞部署 - Telegram 通知加入 📊 Monitoring 覆蓋率狀態 Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/cd.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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 }}))