SuperAPI AI 工具集

blacksmith-testbox

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:为 cmux-tui 的 Rust 构建提供可复用的 Blacksmith Testbox 远程环境,预热依赖缓存、采集远程构建耗时并留存证据,最后安全销毁。仅限 Linux 场景;Swift、Xcode、XCTest、GUI 等应使用托管 macOS 工作流。

主要能力:使用 .github/workflows/cmux-tui-testbox-warmup.yml 的 cmux-tui-rust 作业,运行于 blacksmith-32vcpu-ubuntu-2404。预热只做环境准备:拒绝 main 以外的 ref、检出并校验提交、初始化 ghostty 子模块、安装 Linux C/LLVM 头文件与仓库固定的 Zig/Rust 工具链、拉取依赖、记录 runner/工具链/Ghostty 身份 JSON,不执行 Rust 测试或编译。

使用方式:先确认认证与版本:blacksmith auth whoami、blacksmith --version。从 main 预热:blacksmith testbox warmup "$WORKFLOW" --ref main --job "$JOB" --idle-timeout 30,保存返回的 tbx_... ID。用 blacksmith testbox status --id "$TBX" --wait --wait-timeout 15m 等待并采集身份。候选代码通过 blacksmith testbox run 同步到已预热 VM,再运行 first-clean、incremental-noop、changed-file 三个阶段,每个阶段后立即用 blacksmith testbox download 下载 json/time/log,避免后续 rsync 覆盖。最后用 scripts/blacksmith-testbox-cleanup.sh 先 PREVIEW 再以 STOP 加预览哈希执行清理。

限制与安全边界:该通道由 main 控制,候选分支可编辑的内容绝不在持有令牌的作业中运行;需管理员创建 blacksmith-testbox-trusted 环境并配置必需审查者、禁用管理员绕过、部署分支规则精确为 main。一个 Testbox ID 只属于一个工作树和一名操作者,不支持多客户端隔离。本地 HEAD 必须已提交且干净,工具链须与 main 一致,否则阶段助手以退出码 66 失败。CLI 来源目前未做校验和固定,属已知运维限制。切勿打印或下载 /tmp/.testbox/auth_token。