diff --git a/.gitea/workflows/e2e-health.yaml b/.gitea/workflows/e2e-health.yaml index fdbacac8..e739cccb 100644 --- a/.gitea/workflows/e2e-health.yaml +++ b/.gitea/workflows/e2e-health.yaml @@ -3,6 +3,7 @@ # ============================================================================= # 替代 GitHub Actions 的本地 CI/CD # 2026-03-29 Claude Code (ADR-039) +# 2026-03-31 Claude Code (Phase 21.1 - 每日排程 + 失敗通知) name: E2E Health Check @@ -10,6 +11,8 @@ on: push: branches: [main] workflow_dispatch: + schedule: + - cron: '0 16 * * *' # 每日 00:00 台北 (UTC+8) jobs: e2e-health: @@ -18,6 +21,7 @@ jobs: - uses: actions/checkout@v4 - name: Check API Health + id: health_check run: | sudo apt-get update && sudo apt-get install -y curl || (apt-get update && apt-get install -y curl) # 使用 host.docker.internal 或直接 IP @@ -30,11 +34,21 @@ jobs: if [ "$HTTP_CODE" = "200" ]; then echo "✅ API 可用" + echo "status=success" >> $GITHUB_OUTPUT exit 0 fi sleep 2 done echo "❌ API 無法連線" + echo "status=failed" >> $GITHUB_OUTPUT exit 1 + - name: Notify Telegram on Failure + if: failure() + run: | + curl -s -X POST "https://api.telegram.org/bot${{ secrets.OPENCLAW_TG_BOT_TOKEN }}/sendMessage" \ + -d chat_id="${{ secrets.OPENCLAW_TG_CHAT_ID }}" \ + -d parse_mode="HTML" \ + -d text="🔴 [E2E Health Check] 失敗%0A%0A📅 $(TZ=Asia/Taipei date '+%Y-%m-%d %H:%M')%0A🔗 API 健康檢查未通過%0A%0A請檢查 K3s 叢集狀態" + diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 433e1ebc..8859c492 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -5,11 +5,13 @@ --- -## 📍 當前狀態 (2026-03-31 02:00 台北) +## 📍 當前狀態 (2026-03-31 02:15 台北) | 項目 | 狀態 | |------|------| -| **Phase 21 定期報告** | 📋 **規劃完成,待統帥批准** | +| **Phase 21.1 Daily E2E** | ✅ **已完成** (每日 00:00 台北自動執行) | +| **Phase 21.2 K3s Report** | 📋 **待實施** (2h) | +| **Phase 21.3 Weekly Report** | 📋 **待實施** (2h) | | **#15 SSE + 樂觀更新** | ✅ **完成** (`8c8664c`) | | **#16 DOM Bypass** | ✅ **完成** (`0b87018`) | | **Phase A/B/C P1** | ✅ **97/100 OUTSTANDING** |