94 lines
3.4 KiB
YAML
94 lines
3.4 KiB
YAML
# ═══════════════════════════════════════════════════
|
||
# AOAC-02+03 · 合并哨兵 + 合体引擎
|
||
# AGE OS Agent Chain · PR合并后的CI收集与链路融合
|
||
# 唤醒条件:PR合并到main
|
||
# 版权:国作登字-2026-A-00037559 · TCS-0002∞
|
||
# ═══════════════════════════════════════════════════
|
||
|
||
name: 🔍 AOAC-02+03 · 合并哨兵+合体
|
||
|
||
on:
|
||
pull_request:
|
||
types: [closed]
|
||
branches: [main]
|
||
|
||
permissions:
|
||
contents: write
|
||
pull-requests: read
|
||
checks: read
|
||
statuses: read
|
||
|
||
concurrency:
|
||
group: aoac-merge-sentinel
|
||
cancel-in-progress: false
|
||
|
||
jobs:
|
||
# ────────── AOAC-02 · 合并哨兵 ──────────
|
||
merge-sentinel:
|
||
name: 🔍 AOAC-02 · CI收集
|
||
if: github.event.pull_request.merged == true
|
||
runs-on: ubuntu-latest
|
||
outputs:
|
||
ci_result: ${{ steps.sentinel.outputs.ci_result }}
|
||
ready_for_fusion: ${{ steps.sentinel.outputs.ready_for_fusion }}
|
||
steps:
|
||
- name: 📥 Checkout
|
||
uses: actions/checkout@v4
|
||
with:
|
||
fetch-depth: 0
|
||
|
||
- name: 🔍 执行合并哨兵
|
||
id: sentinel
|
||
env:
|
||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||
PR_TITLE: ${{ github.event.pull_request.title }}
|
||
MERGE_COMMIT_SHA: ${{ github.event.pull_request.merge_commit_sha }}
|
||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||
BASE_BRANCH: ${{ github.event.pull_request.base.ref }}
|
||
run: node scripts/aoac/merge-sentinel.js
|
||
|
||
- name: 💾 提交合并日志
|
||
run: |
|
||
git config user.name "zhuyuan-bot"
|
||
git config user.email "zhuyuan@guanghulab.com"
|
||
git add data/aoac/merge-result-log.json data/aoac/chain-status.json
|
||
if ! git diff --cached --quiet; then
|
||
git commit -m "🔍 AOAC-02 · PR #${{ github.event.pull_request.number }} 合并CI日志 [skip ci]"
|
||
for i in 1 2 3; do
|
||
git pull --rebase origin main && git push && break
|
||
echo "⚠️ 推送冲突,第${i}次重试..."
|
||
sleep $((i * 2))
|
||
done
|
||
fi
|
||
|
||
# ────────── AOAC-03 · 合体引擎 ──────────
|
||
chain-fusion:
|
||
name: ⚡ AOAC-03 · 合体引擎
|
||
needs: merge-sentinel
|
||
if: always() && needs.merge-sentinel.result == 'success'
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: 📥 Checkout (最新)
|
||
uses: actions/checkout@v4
|
||
with:
|
||
ref: main
|
||
fetch-depth: 0
|
||
|
||
- name: ⚡ 执行合体引擎
|
||
run: node scripts/aoac/chain-fusion.js
|
||
|
||
- name: 💾 提交链路报告+触发信号
|
||
run: |
|
||
git config user.name "zhuyuan-bot"
|
||
git config user.email "zhuyuan@guanghulab.com"
|
||
git add data/aoac/
|
||
if ! git diff --cached --quiet; then
|
||
git commit -m "⚡ AOAC-03 · 链路合体报告 · PR #${{ github.event.pull_request.number }} [skip ci]"
|
||
for i in 1 2 3; do
|
||
git pull --rebase origin main && git push && break
|
||
echo "⚠️ 推送冲突,第${i}次重试..."
|
||
sleep $((i * 2))
|
||
done
|
||
fi
|