Prhub

#21187 ci: unify PR test suite naming

sgl-project/sglang · 作者 merrymercy · 合并时间 2026-03-23 15:18

分析状态 已生成
文件变更 283提交数 1 · 评论 2
代码增减 +554 / -554
documentation refactor ci

执行摘要

统一 CI 测试套件命名,提升命名一致性和可读性。

根据 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 的可维护性和可预测性。

对于 CI 维护者和测试开发者,值得浏览以了解新的命名规范;对于一般开发者,无需深入,但可参考 .claude/skills/write-sglang-test/SKILL.md 更新后的测试编写指南。

讨论亮点

没有 review 评论,issue 评论中仅有作者发出的 '/tag-and-rerun-ci' 指令,无技术讨论或争议。

实现拆解

实现方案包括:1) 更新 GitHub Actions 工作流文件(如 pr-test.yml, pr-test-amd.yml)中的 job IDs;2) 修改 test/run_suite.py 中的 PER_COMMIT_SUITES 和 suite 列表;3) 调整所有注册测试文件中的 suite= 参数;4) 更新文档文件如 .claude/skills/write-sglang-test/SKILL.md 和 test/README.md;5) 修改 scripts/ci/utils/slash_command_handler.py 中的 rerun-stage 相关映射。

文件 模块 状态 重要度
.github/workflows/pr-test.yml CI/Workflows modified 8.0
.github/workflows/pr-test-amd.yml CI/Workflows modified 7.0
test/run_suite.py Testing modified 6.0
.claude/skills/write-sglang-test/SKILL.md Documentation modified 5.0

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

关键符号

PER_COMMIT_SUITES (in test/run_suite.py) handle_rerun_stage (in scripts/ci/utils/slash_command_handler.py) register_cuda_ci/register_amd_ci/register_cpu_ci decorators in test files

评论区精华

无讨论或争议 other

没有 review 评论,issue 评论中仅有 '/tag-and-rerun-ci' 指令。

结论:PR 被顺利合并,无异议。 · 已解决

风险与影响

主要风险是命名更新可能遗漏某些文件或配置,导致 CI 运行失败(例如,脚本硬编码旧名称)。但 PR 覆盖 283 个文件且声称无逻辑变更,风险较低;需在合并后监控 CI 作业是否正常触发。

对用户无直接影响;对团队,CI 测试套件命名更规范,便于管理和调试;系统层面,提高 CI 配置的一致性和可维护性,减少因命名混乱导致的错误。

命名更新遗漏风险 CI 配置兼容性

关联 Issue

未识别关联 Issue

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

完整报告

执行摘要

本 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 可视为基础设施标准化的一部分,支持更高效的测试流水线。

参与讨论