用途:轮询当前分支 PR 的 CI 检查状态,并汇总结果,失败时附上日志,同时检查阻塞性审查意见。
主要能力:检查 CI 状态(passed、failed、pending、no_checks 或 comments);为失败的 GitHub Actions 检查补充日志(取最后 100 行);通过 GraphQL 获取 PR 评论,区分未解决审查线程、人工顶层评论和机器人信息性评论;识别 CHANGES_REQUESTED 为硬阻塞。
使用方式:调用捆绑脚本,不要内联重写 API 调用。check-ci.sh 单次调用轮询 90 秒、每 10 秒一次,由调用方循环执行以覆盖最长等待时间;每次 Bash 调用需设置 timeout: 120000。默认最长等待 15 分钟(10 次),可用 --max-minutes N 调整。失败时对每个 run ID 执行 gh run view <run-id> --log-failed。之后运行 get-pr-comments.sh <owner> <repo> <pr-number> [<pr-author-login>]。执行过程中不要暂停询问用户许可。
状态优先级:失败检查或阻塞性审查为 failed;存在需处理的未解决反馈为 comments;检查或审查机器人未完成且无可操作反馈为 pending;CI 绿灯或明确无检查、无操作反馈且无未完成机器人为 passed。无检查且超时后仍需先获取评论再报告。
限制:日志补充仅适用于 GitHub Actions 检查,外部状态检查无 run ID 不获取日志。机器人评论含义需按语义判断,不硬编码供应商或固定短语。其它功能、收费与平台信息暂未提供。