SuperAPI AI 工具集

local-ci

测试与质量

查看项目

更新于 10-16 07:58

技能介绍

用途:在本地运行与 CI 相同的检查,针对你改动过的模块执行 lint、测试和格式检查,每个任务会写入日志文件,最终汇总哪些通过、哪些失败。

主要能力:从仓库根目录运行 ./scripts/ci [OPTIONS] [MODULES...]。模块包括 frontend、backend、common、render-wasm、exporter、mcp、plugins、library,或用 --all 运行全部。不带任务标志时,每个模块按顺序运行 lint、test、fmt(格式检查,--fix 则改为格式化文件)。

常用选项:--all 运行所有模块;--exclude MOD 跳过某模块(可重复);--lint/--no-lint、--test/--no-test、--fmt/--no-fmt 分别只运行或跳过对应任务;--fix 格式化文件而非检查;--paren-repair 修复 Clojure/CLJS 文件的分隔符错误;--fail-fast 首次失败即停止;--quiet 抑制失败输出;--dry-run 只显示将运行的内容;--clean 删除 .ci-logs/ 目录。

使用方式:改动代码后验证模块,例如 ./scripts/ci frontend;迭代时只跑 lint:./scripts/ci --lint frontend;跳过测试:./scripts/ci --no-test frontend;格式化并跳过测试:./scripts/ci --fix --no-test frontend;修复分隔符后再 lint:./scripts/ci --paren-repair frontend 然后 ./scripts/ci --lint frontend;改动 common/ 时同时验证其消费者:./scripts/ci frontend backend exporter;预览:./scripts/ci --dry-run --all。

失败排查:每个任务完整输出写入 .ci-logs/<module>-<task>.log,失败时脚本只打印最后 30 行。诊断失败应读取日志文件,不要用管道过滤重跑命令(仓库规则:先重定向到文件再读取)。任一任务失败时退出码为 1,汇总会列出每个失败的 module:task 及其日志路径。

限制与注意:必须从仓库根目录运行;测试任务耗时较长(backend 运行 clojure -M:dev:test),应给 bash 调用 10–20 分钟超时;mcp 没有 lint 任务,会显示为跳过而非失败;--paren-repair 只修复分隔符,之后需再运行 lint 检查剩余问题。探索、规划或阅读代码时无需运行。