zhizhi/.github/archived-workflows/tianyan-daily-patrol.yml

87 lines
3.4 KiB
YAML
Raw Permalink 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.

# ═══════════════════════════════════════════════
# 🔺 Sovereign: TCS-0002∞ | Root: SYS-GLW-0001
# 📜 Copyright: 国作登字-2026-A-00037559
# ═══════════════════════════════════════════════
# .github/workflows/tianyan-daily-patrol.yml
# 天眼 · 每日自动巡检 + 修复
#
# 功能:
# 1. 扫描注册表完整性(补齐缺失的 daily_checkin_required 字段)
# 2. 扫描 Workflow 文件健康度
# 3. 扫描 persona-brain 目录健康度
# 4. 自动提交修复
# 5. 失败时创建 Issue 上报
name: "🦅 天眼 · 每日巡检"
on:
schedule:
- cron: '30 0 * * *' # 北京时间 08:30签到之后半小时跑
workflow_dispatch:
jobs:
patrol:
name: "🦅 天眼巡检"
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: 扫描注册表完整性
run: node scripts/fix-registry-checkin.js
- name: 扫描 Workflow 文件健康度
run: |
echo "📋 当前 workflow 文件列表:"
ls -la .github/workflows/*.yml | wc -l
echo "---"
# 检查关键 workflow 是否存在
for f in agent-checkin tianyan-daily-patrol; do
if [ -f ".github/workflows/$f.yml" ]; then
echo "✅ $f.yml 存在"
else
echo "❌ $f.yml 缺失"
fi
done
- name: 扫描 persona-brain 健康度
run: |
if [ -d ".github/persona-brain" ]; then
echo "✅ .github/persona-brain/ 存在"
ls -la .github/persona-brain/
else
echo "❌ .github/persona-brain/ 不存在"
fi
if [ -f ".github/persona-brain/agent-registry.json" ]; then
TOTAL=$(node -e "const r=JSON.parse(require('fs').readFileSync('.github/persona-brain/agent-registry.json','utf8')); console.log(r.agents.length)")
REQUIRED=$(node -e "const r=JSON.parse(require('fs').readFileSync('.github/persona-brain/agent-registry.json','utf8')); console.log(r.agents.filter(a=>a.daily_checkin_required).length)")
echo "📊 注册 Agent 总数: $TOTAL"
echo "📊 需要签到 Agent: $REQUIRED"
fi
- name: 提交修复(如有)
run: |
git config user.name "tianyan-bot"
git config user.email "tianyan@guanghulab.com"
git add -A
git diff --cached --quiet || git commit -m "🦅 天眼自动巡检修复 · $(date +%Y-%m-%d)"
git diff --cached --quiet || git push
- name: 异常上报创建Issue
if: failure()
uses: actions/github-script@v7
with:
script: |
await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: '🦅 天眼巡检异常 · ' + new Date().toISOString().split('T')[0],
body: '天眼每日巡检发现异常,请冰朔查看 Actions 日志。\n\n运行链接: ' + context.serverUrl + '/' + context.repo.owner + '/' + context.repo.repo + '/actions/runs/' + context.runId,
labels: ['tianyan', 'auto-report']
});