Prhub

#26986 ci: full parallelism for run_all_tests dispatch

原始 PR 作者 hnyls2002 合并时间 2026-06-02 08:40 文件变更 1 提交数 1 评论 1 代码增减 +6 / -1

执行摘要

手动全量 CI 运行启用完整并行度

PR 描述指出,手动 workflow_dispatch 全量运行(run_all_tests=true)当前受到 max_parallel 限制,因为 full-parallel 模式仅在 schedulehigh priority PR 上触发。这使得手动全量运行无法获得与定时调度相同的并行度,影响效率。该 PR 旨在让 run_all_tests 运行时也设置 full=true,从而镜像定时调度的并行度。

该 PR 是小而有效的 CI 改进,建议合并。对于 CI 维护者,该逻辑值得参考,作为扩展 CI 并行度控制的模式。

讨论亮点

该 PR 没有任何 review 评论或讨论。

实现拆解

  1. 修改条件判断:在 .github/workflows/_pr-test-check-changes.yml 的 shell 脚本中,新增一个 elif 分支,检查 inputs.run_all_tests 是否为 true
  2. 设置 FULL 变量:当条件满足时,将 FULL 变量设为 true,并输出日志信息。
  3. 扩展示例:更新了注释,明确说明 run_all_tests 运行(手动全量调度/发布)也应获得与定时调度相同的并行度。

变更仅涉及一个文件,逻辑简单直接。

文件 模块 状态 重要度
.github/workflows/_pr-test-check-changes.yml CI 配置 modified 3.46

关键源码片段

.github/workflows/_pr-test-check-changes.yml infrastructure

CI 工作流文件,定义了测试分发逻辑;该 PR 的核心变更在此文件中,新增了手动全量运行启用完整并行度的条件。

# 文件 : .github/workflows/_pr-test-check-changes.yml ( 部分 )
# 功能 : 判断是否启用完整并行度
# 变更 : 增加 elif 分支处理 run_all_testsFULL=false
if [[ "${{ github.event_name }}" == "schedule" ]]; then
  FULL=true
  echo "Scheduled run -> full parallelism"
elif [[ "${{ inputs.run_all_tests }}" == "true" ]]; then # 新增分支
  FULL=true
  echo "run_all_tests -> full parallelism"
elif [[ "${{ github.event_name }}" == "pull_request" && "${{ contains(github.event.pull_request.labels.*.name, 'high priority') }}" == "true" ]]; then
  FULL=true
  echo "high priority PR -> full parallelism"
fi

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

低风险。该 PR 仅在 CI 工作流中增加了一个条件分支,不会影响产品代码或系统功能。风险主要在于若 inputs.run_all_tests 未正确定义或传递,可能导致 FULL 变量行为异常,但鉴于 CI 配置的成熟度,此风险极小。

影响范围:CI 基础设施,仅影响手动触发的全量测试运行。
影响程度:提高手动全量 CI 的执行效率,减少测试等待时间,对开发者和发布流程有正面效果。

低风险,CI 配置变更

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论