执行摘要
- 一句话:扩展CI中B200测试任务的runner选择范围,支持低磁盘标签以提升调度弹性。
- 推荐动作:该PR变更简单直接,主要涉及CI配置调整。对于关注CI基础设施或B200测试环境的工程师,可以快速浏览以了解runner标签的使用策略;对于其他开发者,无需深入阅读。
功能与动机
根据PR描述,目的是将stage-b-test-4-gpu-b200任务的runner选择范围从特定的b200_runner(对应4-gpu-b200/4-gpu-b200-kernel标签)扩展到b200_low_disk_runner(对应4-gpu-b200-low-disk/4-gpu-b200-kernel-low-disk标签)。*-low-disk标签同时被现有的大磁盘B200 runner和新引入的低磁盘runner所支持,因此该任务现在可以落在任一资源池中,这与同一工作流中已分区的B200任务模式保持一致,旨在提高CI资源的利用率和任务调度弹性。
实现拆解
- 核心配置变更:修改
.github/workflows/pr-test.yml文件中stage-b-test-4-gpu-b200任务的runs-on字段,从引用needs.check-changes.outputs.b200_runner变量改为引用needs.check-changes.outputs.b200_low_disk_runner变量。
- 测试与验证:提交历史显示,作者先临时硬编码runner标签为
4-gpu-b200-low-disk-test进行测试,验证新低磁盘runner池的功能,随后恢复为使用变量引用,确保任务能正常回退到内核/非内核的常规拆分逻辑。
- 配套改动:无其他源码、测试或文档改动,变更仅限于CI工作流配置。
关键文件:
.github/workflows/pr-test.yml(模块 CI配置;类别 infra;类型 configuration): 这是唯一被修改的文件,直接定义了CI工作流中B200测试任务的runner选择逻辑。
关键符号:未识别
关键源码片段
.github/workflows/pr-test.yml
这是唯一被修改的文件,直接定义了CI工作流中B200测试任务的runner选择逻辑。
# 在 pr-test.yml 的 jobs 部分,stage-b-test-4-gpu-b200 任务配置:
stage-b-test-4-gpu-b200:
# ... 其他配置 ...
# 条件判断:仅当主包或 sgl-kernel 有变更时才运行此任务
if: ((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
# 关键变更:将 runs-on 从 b200_runner 改为 b200_low_disk_runner
# b200_low_disk_runner 变量解析为 `4-gpu-b200-low-disk` 或 `4-gpu-b200-kernel-low-disk` 标签
# 这些标签同时被现有的大磁盘 B200 runner 和新引入的低磁盘 runner 支持,因此任务可以落在任一资源池
runs-on: ${{ needs.check-changes.outputs.b200_low_disk_runner }}
timeout-minutes: 240
strategy:
fail-fast: false
# ... 后续步骤 ...
评论区精华
PR的评论中没有review讨论,只有作者执行/rerun-stage命令触发CI运行和bot的响应。这表明变更可能较为直接,或已在团队内部达成共识。
风险与影响
- 风险:低风险。变更仅影响CI runner的标签选择,不涉及业务逻辑。潜在风险包括:
1) 如果低磁盘runner的磁盘空间不足,可能导致构建或测试失败(但PR描述指出*-low-disk标签也被大磁盘runner支持,因此有回退机制)。
2) 变量b200_low_disk_runner必须在CI上下文中正确定义,否则任务可能无法找到合适的runner。
- 影响:影响范围有限。直接影响CI系统中的
stage-b-test-4-gpu-b200任务,使其能够使用更广泛的runner资源池,可能提高任务调度成功率和资源利用率。对用户、系统核心功能或团队开发流程无直接影响。
- 风险标记:配置依赖风险
关联脉络
- PR #23510 [CI] /rerun-stage: fix workflow-run URL lookup for sgl-kernel PRs: 同属CI基础设施改进,涉及
/rerun-stage命令和CI工作流配置。
- PR #23492 [CI] /rerun-stage: auto-include wheel build when PR modifies sgl-kernel/: 同属CI基础设施改进,涉及
/rerun-stage命令和CI工作流配置,且都修改了.github/workflows/pr-test.yml文件。
- PR #23086 [CI] GB200 nightly: on-demand PR/branch image build and config filter: 同属CI基础设施改进,涉及特定硬件(GB200/B200)的CI配置和资源调度。
参与讨论