ops(runner): inventory workflow labels [skip ci]

This commit is contained in:
Your Name
2026-05-24 09:52:04 +08:00
parent 22b45006b7
commit 4407b46bb6
4 changed files with 364 additions and 0 deletions

View File

@@ -2665,6 +2665,14 @@ Phase 6 完成後
- 判讀T135 已把 runner ownership 從雙 runner 搶工收斂到 host runner 單一主控;下一段不要重新啟用 Docker-wrapped runner而是做 runner pool / repo label 隔離、API image `apt-get` / `chown -R` 分層、Web build cache/offload、Playwright apt source-list hygiene。
- 目前進度更新AwoooP 告警可觀測鏈約 99.998%Incident-level source correlation 可見性約 98.8%Source correlation apply 狀態鏈可驗證性約 99.72%Source correlation freshness / rolling gate 約 98.2%;前端 AI 自動化管理介面同步約 99.999%Dashboard snapshot / SSE console noise 收斂約 99.2%CI/CD runner hygiene 約 99.2%Runner ownership 收斂約 96%Build host pressure治理約 82%;完整 AI 自動化管理產品化約 99.960%。
**T141 workflow label matrix2026-05-24 台北)**
- 觸發T140 只回答 110 live runner config尚未回答各 repo workflow 實際使用哪些 `runs-on`。要做 runner label isolation 前,必須避免切斷 `ewoooc``stockplatform-v2` 的 CI/CD。
- 修正:新增 `ops/runner/audit-workflow-labels.py`,只讀 Gitea `.gitea/workflows/*.yml` / `.yaml` 並擷取 `runs-on`Gitea auth 由 env 或目前 repo `gitea` remote 解析token 不輸出Gitea 不可讀時可用 `--local-repo OWNER/NAME=/path/to/repo` fallback。`ops/runner/README.md` 補第七層 workflow label matrix。
- EvidenceAWOOI `.gitea/workflows/cd.yaml` 三個 job 使用 `awoooi-host`,但 code-review / e2e-health / deploy-alerts / cd-dev / ansible-lint / type-sync / run-migration 使用 `ubuntu-latest`EwoooC `.gitea/workflows/cd.yaml` 使用 `ewoooc-host`stockplatform-v2 local `.gitea/workflows/ci.yaml` 兩個 job 使用 `ubuntu-latest`,本 session Gitea API 對該 repo 回 404因此用 local fallback。
- 判讀AWOOI production CD label 已專用,但 runner queue 仍共享,因為同一個 110 runner service 同時宣告 `awoooi-host``ewoooc-host``ubuntu-latest`。真正修復是 runner registration / service split 或將非 AWOOI repo 搬到獨立 runner不可只在同一份 config 繼續加 label也不可在替代 runner ready 前直接移除 `ewoooc-host``ubuntu-latest`
- Verification`python3 -m py_compile ops/runner/audit-workflow-labels.py` pass`ops/runner/audit-workflow-labels.py --local-repo wooo/stockplatform-v2=/Users/ogt/stockplatform-v2` pass。
- 目前進度更新AwoooP 告警可觀測鏈約 99.998%Incident-level source correlation 可見性約 98.8%Source correlation apply 狀態鏈可驗證性約 99.72%Source correlation freshness / rolling gate 約 98.2%;前端 AI 自動化管理介面同步約 99.999%Dashboard snapshot / SSE console noise 收斂約 99.2%CI/CD runner hygiene 約 99.5%Runner ownership 收斂約 96%Runner pool inventory 約 82%Workflow label matrix 約 85%API image build layer hygiene 約 88%Deploy rollout-risk 可觀測性約 91%CI/CD evidence 前端可見性約 92%Pipeline stage 可觀測性約 88%Build host pressure治理約 86%;完整 AI 自動化管理產品化約 99.966%。
**T140 runner pool live inventory2026-05-24 台北)**
- 觸發T139 已把 CI/CD stage transition 寫回 AwoooP Deployments但 shared runner pool 仍是部署證據與 post-deploy queue 的風險來源。直接改 runner labels 會影響 `ewoooc` / `stockplatform-v2` 等 repo因此先建立可重跑的 live inventory。
- 修正:新增 `ops/runner/audit-runner-pool.sh`,只讀盤點 `gitea-act-runner-host.service``/home/wooo/act-runner/config.yaml` labels、Docker-wrapped `gitea-runner`、active `GITEA-ACTIONS-TASK-*` containers、近 2 小時 runner journal repo counts。`ops/runner/README.md` 補第六層 shared runner label inventory明確禁止把 `capacity: 2` 當修復。