feat(code-review): 重建為 Post-Deploy AI Agent Pipeline
All checks were successful
CD Pipeline / deploy (push) Successful in 1m21s
All checks were successful
CD Pipeline / deploy (push) Successful in 1m21s
架構重建: - 移除 pre-commit hook(本機 commit 不再阻塞) - 改為 CD 健康檢查通過後自動觸發 webhook 新建 services/code_review_pipeline_service.py: 5-Step Pipeline(後台 daemon thread) Step1 system 讀取部署後變更檔案內容 Step2 Hermes 程式碼掃描(bugs/security/perf,hermes3:latest) Step3 OpenClaw 架構品質評估(Gemini 2.5 Flash) Step4 ElephantAlpha 決策協調(severity + auto_fix 裁量) Step5 NemoTron action_plans 寫入 + AiderHeal 觸發 全程 Telegram 告警(啟動/完成/錯誤)+ ai_insights DB 持久化 重建 routes/code_review_routes.py: POST /code-review/api/internal/trigger CD webhook(X-Internal-Token) GET /code-review/api/status 前端即時 polling GET /code-review/api/history 歷史清單 GET /code-review/ 前端儀表板 重建 templates/code_review.html: 深色儀表板,Pipeline 即時進度 + Severity 分佈 + 問題清單 + EA 決策 3s polling(running)/ 30s(idle) .gitea/workflows/cd.yaml: 健康檢查通過後注入「觸發 AI Code Review」step continue-on-error: true(不影響部署結果) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -178,6 +178,22 @@ jobs:
|
||||
echo "❌ 健康檢查失敗"
|
||||
exit 1
|
||||
|
||||
# ── 觸發 Post-Deploy Code Review ─────────────────────────────────────
|
||||
- name: 觸發 AI Code Review
|
||||
if: success()
|
||||
continue-on-error: true
|
||||
run: |
|
||||
CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "")
|
||||
FILES_JSON=$(echo "$CHANGED" | grep -E '\.(py|yaml|yml|json)$' | \
|
||||
jq -Rs '[split("\n")[] | select(. != "")]')
|
||||
curl -fS --max-time 10 \
|
||||
-X POST "https://mo.wooo.work/code-review/api/internal/trigger" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Internal-Token: ${{ secrets.INTERNAL_WEBHOOK_TOKEN }}" \
|
||||
-d "{\"commit_sha\":\"${{ github.sha }}\",\"changed_files\":${FILES_JSON},\"branch\":\"${{ github.ref_name }}\",\"deploy_type\":\"${{ steps.deploy_type.outputs.type }}\"}" \
|
||||
&& echo "✅ Code Review Pipeline 已觸發" \
|
||||
|| echo "⚠️ Code Review webhook 呼叫失敗(不影響部署結果)"
|
||||
|
||||
# ── 部署成功通知 ──────────────────────────────────────────────────────
|
||||
- name: 通知部署成功
|
||||
if: success()
|
||||
|
||||
Reference in New Issue
Block a user