SuperAPI AI 工具集

running-ci-preflight

部署与运维

查看项目

更新于 10-16 08:07

技能介绍

用途:hogli ci:preflight 会在推送前把一组精选检查限定到分支触及的文件上,每个检查对应一类曾导致 master 失败的 CI 问题,同时始终执行分支新鲜度检查。它是 hogli ci:insights(master 上已存在的问题)的推送前对应工具。pre-push 钩子会自动以 --strict 运行该命令并在检查失败时阻止推送,不应使用 --no-verify 绕过,而应修复报告的问题。\n\n主要能力:命令可格式化、lint 并自动修复安全的项目。输出符号含义为:✓ 通过、✗ 失败、→ 建议(需自行处理)、· 跳过(能力缺失)。所有 ✗ 必须解决,它们是 --fix 无法处理的真实 lint 错误、损坏的锁文件、迁移冲突等,会阻止推送。所有 → 建议也应处理,例如 openapi 建议对应运行 hogli build:openapi 并提交漂移;过期建议对应 git merge origin/master。建议不阻塞推送,但忽略会把失败带入 CI。\n\n使用方式:先运行 hogli ci:preflight --fix,逐行阅读结果,解决所有 ✗ 与 → 建议,反复运行至干净后再推送。严格模式下仅 ✗ 会以非零退出;干净退出只表示“没有需要修复的”,并不保证 CI 通过,CI 仍是权威门禁。新鲜度检查基于风险:当立即合并 master 会实际破坏某些内容时触发,如文本合并冲突、双方都新增迁移、双方都改动生成文件输入或 master 上 CI 工作流变更,另有落后/时长兜底,默认 5 个提交或 2 天,可用 HOGLI_PREFLIGHT_STALE_COMMITS/HOGLI_PREFLIGHT_STALE_DAYS 调整。钩子无 node_modules 时需自行运行循环。\n\n其他标志与限制:--against <ref> 可针对显式基线比较,--json 输出机器可读摘要。HOGLI_PREFLIGHT_DISABLED=1 会让命令与钩子无操作并以 0 退出,属于发布/应急开关,不应擅自取消以强制运行。· 跳过 需要 stack/node,裸检出或沙箱中属预期,可用 hogli start 启动 stack 或交给 CI。非阻塞是机制限制,不代表可以跳过。