Commit Graph

3 Commits

Author SHA1 Message Date
Jesse_Chen 75e288b0c6 ci(gate): keep BuildKit cache unless the runner is actually short on disk
deploy/reclaim-runner-disk.sh ran `docker builder prune --force --all` at the
start of every gate job, so each publish rebuilt the Dockerfile `npm ci` layer
from scratch behind the registry mirror (7-minute image builds became 47).
Reclaim build cache in tiers instead: prune entries unused for 72h, re-measure
free space, and escalate to `--all` only while still below MINIMUM_FREE_GIB.
The final threshold check and the "only unheld resources" rules are unchanged.

Contract test asserts the aged prune runs first and that `--all` is only
reachable inside the re-measured conditional.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VawU7Xfd5jS9wUEXz1XYmS
2026-09-02 04:02:04 +00:00
Jesse_Chen 37e62094d7 fix(ci): cap postgres fixtures and reclaim leftover compose networks
Independent Staging Quality Gate / validate (push) Successful in 10m28s
Independent Staging Quality Gate / publish (push) Successful in 9m59s
xiaoxin's 20-core npm test opened one Docker network per database file and exhausted default address pools. Limit concurrent fixtures and remove unused jyotisha-postgres networks before the gate.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 19:30:13 +08:00
Jesse_Chen 5687182980 ci(runner): move every Gitea job to xiaoxin and let the gate reclaim its own disk
Independent Staging Quality Gate / validate (push) Successful in 9m24s
Independent Staging Quality Gate / publish (push) Successful in 7m24s
质量门跑在以 :host 模式注册的跳板机上,与无关生产服务共用文件系统,累积的按
SHA 打标镜像把根分区占满,PostgreSQL fixture 起不来,staging 连续 5 个提交发不
出去。把 12 个 job 统一迁到 xiaoxin,并在开跑前回收磁盘、余量不足时直接报磁盘
原因而不是让 23 个数据库测试代为失败。

当年据以搬迁的「xiaoxin 缺少 Docker Compose v2」是误诊:真实原因是用户级插件
目录里一个零字节 docker-compose 遮蔽了系统插件。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 10:12:55 +08:00