执行摘要
本 PR 统一了 CI 测试套件的命名模式,将混乱的 job IDs 和 suite 字符串标准化为 'stage-{a|b|c}-test-{N}-gpu-{small|large}' 格式,CPU 测试为 'stage-a-test-cpu',覆盖 283 个文件但无逻辑变更,旨在提升 CI 的可维护性和可预测性。
功能与动机
动机源于 CI 测试套件命名不一致,如旧名称 "stage-a-test-small-1-gpu" 与 "stage-b-test-large-1-gpu" 顺序混乱,导致管理和调试困难。PR body 明确指出目标为“rename CI job IDs and registered-test suite= strings to a single, predictable pattern so stage / GPU count / size are ordered consistently”,以简化 CI 配置和维护。
实现拆解
- GitHub Actions 工作流:更新 pr-test.yml、pr-test-amd.yml、pr-test-amd-rocm720.yml 等文件中的 job IDs,确保 CI 作业能正确触发。
- 测试运行脚本:修改 test/run_suite.py 中的 PER_COMMIT_SUITES 字典,统一测试套件列表定义。
- 注册测试:调整所有 test/registered/ 目录下文件的
suite= 参数,涉及约 200 多个测试文件。
- 文档:更新 .claude/skills/write-sglang-test/SKILL.md、test/README.md、test/registered/unit/README.md 中的示例和说明。
- 工具脚本:修改 scripts/ci/utils/slash_command_handler.py 中的 rerun-stage allowlists 和 runner 映射(如 CUDA_SUITE_TO_RUNNER)。
- 其他文件:包括 .github/actions/wait-for-jobs/action.yml 和单个 JIT kernel 测试文件,确保全方位覆盖。
评论区精华
没有 review 讨论,issue 评论中仅有作者发出的 /tag-and-rerun-ci 指令,无技术交锋或设计权衡。这表明变更被视为机械性改进,无需深入评审。
风险与影响
风险:命名更新可能遗漏某些文件或配置(如第三方脚本硬编码旧名称),导致 CI 作业失败;但由于 PR 覆盖广泛且无逻辑变更,风险较低。合并后需监控 CI 运行状态。
影响:对终端用户透明;对开发团队,CI 测试套件命名更规范,便于日常管理和故障排查;系统层面,提升 CI 配置的一致性和可维护性,为未来扩展奠定基础。
关联脉络
与 PR #21130 "Add ut guide to test skills" 直接相关,后者同样更新了测试指南文档 .claude/skills/write-sglang-test/SKILL.md,显示团队在统一测试实践和文档方面的持续投入。此外,近期历史 PR 中多涉及测试和 CI 优化(如 #20978 性能改进),本 PR 可视为基础设施标准化的一部分,支持更高效的测试流水线。
参与讨论