ci(runner): move every Gitea job to xiaoxin and let the gate reclaim its own disk
质量门跑在以 :host 模式注册的跳板机上,与无关生产服务共用文件系统,累积的按 SHA 打标镜像把根分区占满,PostgreSQL fixture 起不来,staging 连续 5 个提交发不 出去。把 12 个 job 统一迁到 xiaoxin,并在开跑前回收磁盘、余量不足时直接报磁盘 原因而不是让 23 个数据库测试代为失败。 当年据以搬迁的「xiaoxin 缺少 Docker Compose v2」是误诊:真实原因是用户级插件 目录里一个零字节 docker-compose 遮蔽了系统插件。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -273,3 +273,9 @@ Prevention: 将该门禁运行在已验证 Docker Compose v2 的 `manman-linux`
|
||||
The gateway did not request an official full snapshot by default, and the consultation workflow built its machine evidence packet before invoking that gateway, so configured credentials and readiness still produced no current raw response for the report. The same workflow also failed to attach the repository's existing Ashtakavarga and KP calculators to `chart.modules`, leaving both Technique Audit rows blocked despite valid local chart inputs.
|
||||
|
||||
Prevention: make the gateway request official raw evidence without relying on an optional environment switch; invoke it before freezing the evidence packet; require `official_verified` plus a non-empty raw response before promoting official evidence; attach existing local calculator outputs through the shared consultation layer and keep KP values `observation_only` until an external worked-example parity gate closes. Regression tests must lock both raw-response propagation and module presence.
|
||||
|
||||
## ERR-105 | `manman-linux:host` runner 把跳板机磁盘占满,staging 质量门连续 5 次失败且发布中断 | resolved 2026-08-18
|
||||
|
||||
`manman-linux` runner 以 `:host` 模式注册在一台同时运行 Nacos/MySQL/Redis/xxl-job 的跳板机上,质量门每次 push 都在该宿主机本地 build 两个按 SHA 打标的镜像且从不回收,累积 1453 个镜像后根分区 99G 用满 94G、Avail 归零。`docker compose up -d --wait postgres` 阶段 `initdb` 报 `No space left on device`,23 个数据库集成测试级联失败,`publish` 连续 5 次 skipped,`staging` 上 4 个提交无法发布。ERR-103 当初据以搬迁的「`xiaoxin` 缺少 Docker Compose v2」是误诊:真实原因是 `xiaoxin` 的 `/root/.docker/cli-plugins/docker-compose` 有一个零字节文件遮蔽了系统插件(用户级插件目录优先),Docker Engine 本身一直正常。
|
||||
|
||||
Prevention: 构建与测试 runner 不得与其他服务共用宿主文件系统;门禁必须在开跑前自行回收磁盘并在余量不足时 fail-closed 报出磁盘原因,而不是让下游 fixture 代为暴露。判定某台 runner「不支持 Docker Compose」之前,必须先看 `docker info` 的 client plugins 报错与用户级 `~/.docker/cli-plugins` 是否存在遮蔽文件;把能力缺失归因到整台机器会导致错误的迁移决策,本次代价是发布中断。
|
||||
|
||||
Reference in New Issue
Block a user