执行摘要
本 PR 为 pr-test-extra.yml 的 workflow_dispatch 手动触发接口添加了 run_all_tests 布尔输入,用于跳过路径过滤直接运行所有测试。5 行 YAML 变更解决了 release 分支因浅克隆无法找到合并基而导致的 git fetch 失败问题。
功能与动机
手动触发 pr-test-extra.yml 测试 release 分支时,_pr-test-check-changes.yml 中的 dorny/paths-filter 步骤在浅克隆下无法找到合并基,会调用 git fetch --deepen=200 扩展历史,但该操作与并发索引更新冲突,报错 fatal: shallow file has changed since we read it。PR body 中引用了三次失败运行记录作为证据。而 pr-test.yml 的 workflow_dispatch 已有 run_all_tests 输入,本 PR 将对称功能补齐到 pr-test-extra.yml。
实现拆解
- 新增输入定义:在
.github/workflows/pr-test-extra.yml 的 workflow_dispatch 块下添加 run_all_tests 输入,类型为 boolean,默认值 false,附带描述说明其作用。
- 依赖已有下游逻辑:
_pr-test-check-changes.yml 第 77 行已具备 if: steps.run-mode.outputs.run_all_tests != 'true' 逻辑,当输入为 true 时跳过路径过滤步骤。无需修改其他文件。
- 零逻辑变更:仅 5 行新增配置,不改变现有行为。
无相关源码片段。
评论区精华
无 review 评论或讨论。PR 由作者自行合并,说明变更清晰且无争议。
风险与影响
风险:极低。默认值为 false,不影响现有手动或自动触发流程。下游逻辑已就绪,无回归风险。
影响:范围局限在 pr-test-extra.yml 手动触发场景。允许运维人员在测试 release 分支时勾选 run_all_tests 跳过路径过滤,直接运行全部 extra 测试,提高调测效率。
关联脉络
本 PR 是对历史 PR #26068 等工作流的补充,使 pr-test-extra.yml 与 pr-test.yml 在手动触发能力上保持一致。作者计划合入后 cherry-pick 到 release/v0.5.12 分支,解决 release 分支测试的阻塞问题。
参与讨论