Files
awoooi/.gitea/workflows/e2e-health.yaml
OG T d2f4708663
All checks were successful
E2E Health Check / e2e-health (push) Successful in 18s
feat(cicd): #46c OTEL Tracing 遷移到 Gitea workflows
- CD: awoooi-cd service (192.168.0.188:24318)
- E2E: awoooi-e2e service
- 環境變數: OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES

原 GitHub workflows (cd7d63e) → Gitea workflows (ADR-039)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:39:42 +08:00

61 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# AWOOOI E2E Health Check (Gitea Actions - 方案 B)
# =============================================================================
# 替代 GitHub Actions 的本地 CI/CD
# 2026-03-29 Claude Code (ADR-039)
# 2026-03-31 Claude Code (Phase 21.1 - 每日排程 + 失敗通知)
name: E2E Health Check
on:
push:
branches: [main]
workflow_dispatch:
schedule:
- cron: '0 16 * * *' # 每日 00:00 台北 (UTC+8)
# OTEL CI/CD 監控 (2026-03-31 #46c)
env:
OTEL_EXPORTER_OTLP_ENDPOINT: http://192.168.0.188:24318
OTEL_SERVICE_NAME: awoooi-e2e
OTEL_RESOURCE_ATTRIBUTES: deployment.environment=production
jobs:
e2e-health:
runs-on: ubuntu-latest
steps:
- 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)
# 2026-03-31 ogt: Docker 容器無法訪問內網 IP改用公網域名
API_URL="https://awoooi.wooo.work"
echo "🔗 檢查 API 健康狀態..."
for i in 1 2 3; do
HTTP_CODE=$(curl -s -w "%{http_code}" -o /dev/null --connect-timeout 10 "$API_URL/api/v1/health" 2>&1) || true
echo "📊 嘗試 #$i: HTTP $HTTP_CODE"
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="🔴 <b>[E2E Health Check]</b> 失敗%0A%0A📅 $(TZ=Asia/Taipei date '+%Y-%m-%d %H:%M')%0A🔗 API 健康檢查未通過%0A%0A請檢查 K3s 叢集狀態"