ci: PR AI 审查 job timeout 30 → 60 分钟 - #471
Conversation
大 PR(diff 大)时 AI 审查一遍会超过 30 分钟、被 job timeout 强制取消、拿不到结论(如一个 61 文件 / +6.8k 行的 PR 稳定卡 30 分钟)。审查时长由 diff 大小驱动、拆分不总可行,先给 pull_request_target(pr-review.yml) 与 /review 命令(pr-review-command.yml) 的 AI 审查 job 提到 60 分钟余量;只改 timeout、不动审查逻辑与门禁口径。
|
👋 感谢提交 PR @ExWang!维护者会尽快 review。 提交前请确认:
|
[PR #471]: ci: PR AI 审查 job timeout 30 → 60 分钟作者: ExWang 修改方案把两条 AI 审查通道的 job 时间上限从 30 分钟抬到 60 分钟——一条是 PR 推送时自动跑的(pr-review.yml:26),一条是维护者评论 diff 与上轮 ci-bot 审查时完全一致(仍是 2 文件 × 1 行,commit 核实一:撞墙不是「大 PR」现象——19 文件的 PR 也撞穿了 30 分钟我上轮把 run 把全仓最近 60 次
三条都排除了 concurrency 取消的可能: 对本 PR 的意义(两个方向都有):
PR #460(
修正后 #460 的中位数是 20m38s,不是我上轮写的 26m38s(上轮那个数是把 #398 的 29m44s 混进来抬上去的)。作者原始三个数据点(8m54s / 30m02s / 30m03s,job 级)我仍然逐个对到了 run 上,全部精确成立。 核实二:没有第三个闸门、没有过期文档
下面四条 🔵 都不反对这个改动。第一、二条是上轮 🔵 的延续(未修,且本轮拿到了更强/需修正的证据),第三条是上轮 🔵 的实测确证 + 更可靠的修法,第四条是本轮新发现。 问题🔵 建议(可选优化)
结论LGTM — 2 个文件各 1 行,把两条审查通道从同一个已被实测撞穿的值(30 分钟)抬到 60 分钟。改动方向没有疑问:撞墙今天已在 3 个不同 PR(#398 / #460 / #472)上各发生一次,最近一次是 13:47(我上轮审查结束后 45 分钟),且没有第三个 30 分钟闸门、没有过期文档引用漏改。作者原始三个数据点全部精确成立。 四条 🔵 都不构成合并阻塞:
第 3、4 条与本 PR 正交,建议另开一个 PR 一并处理(先 3 后 4)。 由 review-pr skill v1.6 生成 |
bdfcf80 to
86e5e59
Compare
86e5e59 to
bdfcf80
Compare
|
ci-bot 的 🟡 我看过:它按「主备两轮共用 job 时钟」把 60 折半算成 30。实践中不成立——同一个 PR(#460,61 文件 / +6.8k 行)本轮审查 8m54s 跑完,此前撞 30 分钟是 AI 负载波动的特例;60 对单轮是 2 倍余量。 「两轮都跑满」只在「主模型故障 + 超大 PR」同时发生时出现,属罕见叠加、代价也只是重跑一次,不值得为它把上限翻倍。单轮预算划分(给每轮套 维持 60,请 reviewer 判断是否放行。 |
|
/review |
|
/review |
1 similar comment
|
/review |
|
ci-bot审查卡住,且本PR仅更新延长等待时间的阈值(30min→60min),足以通过这个解决个别ci审查等待时间较长的case,故先merge |
问题
PR AI 审查(
pr-review.yml的「AI 审查并按严重度门禁」步骤)读整个 PR diff 评审,时长随 diff 增大。较大的 PR 一轮审查会超过 job 的timeout-minutes: 30,被 GitHub 强制 cancel → 检查 fail(是超时、非发现问题),拿不到审查结论。/review命令走的pr-review-command.yml同样 30 分钟、同一审查脚本,一样会超时。改动
两个 review workflow 的 AI 审查 job
timeout-minutes: 30 → 60:.github/workflows/pr-review.yml(pull_request_target 自动触发).github/workflows/pr-review-command.yml(/review命令触发)说明
为什么 60 而不是 90
.ci/pr-review-gate.sh主模型失败时会换备用模型从头再审一轮、两轮共用同一 job 时钟,故有「60 折半 = 30 仍不够」的顾虑。实测不成立:同一个 PR(#460,61 文件 / +6.8k 行)本轮审查 8m54s 跑完,此前撞 30 分钟是 AI 负载波动的特例,60 对单轮是 2 倍余量。「两轮都跑满」只在「主模型故障 + 超大 PR」同时发生时出现,属罕见叠加、代价也只是重跑一次,不值得为此把上限翻倍。更精确的单轮预算(给每轮套
timeout)需同时按 exit code 124/137 拆分门禁描述,超出本 PR scope,留后续。