Files
PMon Dev 8026e82a05
Design System Guard / guard (push) Failing after 10m46s
fix(ci): Android 出包回本机——共享 runner 只有 3.6G,跑不动这套工具链
Preflight 打印的宿主实测值:MemTotal=3654MB、4 核、overlay 40G(已用 42%)。

两次实测结论(不只是 Gradle 堆的问题):
- run 16(Gradle 默认 -Xmx8G):Gradle 一起来整机饿死,35 分钟后判 failure;
  Gitea :3000 TCP 能握手但 HTTP 一律 8s 超时,SSH 卡 banner,需控制台重启。
- run 19(已限 -Xmx1536m):连「解压 1.58GB Flutter 归档」这步就把 3.6G 吃穿,
  同样失联。说明峰值不在 Gradle,而是整套工具链(Flutter 归档 + NDK + JDK)。

改法:
① on: 只留 workflow_dispatch,摘掉 push(paths)——在换独立 runner 之前,
   一次改 rust-core 就能把 Gitea 再压死一次。
② Preflight 阈值 3500MB → 6000MB,可用内存 1500MB → 3000MB;
   低于即明确拒绝(失败关闭),并打印本机出包命令。
③ 新增 client/scripts/build_apk.sh:出包的正式落点。
   前置检查(flutter/NDK/key.properties)→ 交叉编译核心库 → flutter build apk
   → 校验 APK 必须含 libinkwatch_core.so 且不含 libpmon_core.so → 打印 sha256。
   本机 M3 Max 实测 assembleDebug 1m39s,比 CI 那条路快一个数量级。

workflow 保留为「换到 ≥8G / ≥4 核独立 runner 后可直接用」的完整配方。
2026-11-10 16:54:06 +08:00
..