SuperAPI AI 工具集

branch-readiness-checks

通用与其它

查看项目

更新于 10-15 21:37

技能介绍

用途:在推送或提交 PR 前对 Kibana 分支做聚焦检查,提前发现可能让 CI 失败的问题。

主要能力:按顺序执行六步流程——识别受影响包、运行 check_changes、lint TS 项目、按包类型检查、按包跑单元测试并查看覆盖率、再生成 CODEOWNERS 与 Moon 项目配置。命令采用有界轮询:为每条命令设 max_wait_ms 与 poll_interval_ms,超时则报告并继续下一步。

使用方式:先确定 base 分支,例如 BASE=$(git merge-base HEAD main 2>/dev/null || git merge-base HEAD origin/main),再用 git diff --name-only "$BASE" 与 git ls-files --others --exclude-standard 收集改动(含未跟踪文件),从改动文件向上找最近的 kibana.jsonc 得到包 ID 与 tsconfig.json。随后依次运行 node scripts/check_changes.ts --ref "$BASE"、node scripts/lint_ts_projects.js --fix、yarn test:type_check --project path/to/tsconfig.json(每次仅一个 --project)、yarn test:jest --coverage path/to/package/src/、node scripts/generate codeowners、node scripts/regenerate_moon_projects.js --update。类型检查还需覆盖下游依赖包,可用 rg -l '"@kbn/affected-package-id"' --glob 'tsconfig.json' . 或 grep 回退查找;若某包下游 tsconfig 超过 20 个则跳过并提示可能需要完整 tsc -b。

适用场景:Kibana 仓库本地开发者在推送或开 PR 前的自检,以及修复后重跑全部步骤。

限制:若类型检查报 TS Project map missing,需先询问用户是否运行 yarn kbn bootstrap;测试失败需先征得用户同意再改测试代码;覆盖率低于 80% 仅提示并可选补测;不自动提交或暂存,由用户决定。具体超时数值与命令细节以资料为准。