执行摘要
本PR将三个大型模型(Qwen3-235B、DeepSeek-V3.1、GLM-4.6-FP8)的夜间测试文件从test/registered/8-gpu-models/移动到test/manual/目录,并移除其中的register_cuda_ci()调用,修复了由PR #22288引入的CI测试收集错误。这是一个纯粹的CI基础设施修复,不涉及任何测试逻辑变更,风险极低但确保了夜间测试套件的正常运行。
功能与动机
问题根源:PR #22288将这三个测试文件添加到了test/registered/目录,但该目录要求所有测试文件必须包含CI注册条目(通过register_cuda_ci()函数)。由于这些是"manual-only nightly tests"(仅手动执行的夜间测试),缺少注册信息导致collect_tests()函数抛出ValueError: No CI registry found错误。
解决思路:根据PR body描述,这些测试本应属于手动测试范畴,正确的存放位置是test/manual/目录。本PR通过简单的文件移动和注册代码移除,恢复了CI测试收集功能的正常工作。
实现拆解
变更集中在三个测试文件的移动和清理:
| 文件 |
原位置 |
新位置 |
关键变更 |
test_deepseek_v31.py |
test/registered/8-gpu-models/ |
test/manual/ |
移除register_cuda_ci(est_time=5400, suite="nightly-8-gpu-common", nightly=True) |
test_glm_46_fp8.py |
test/registered/8-gpu-models/ |
test/manual/ |
移除register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True) |
test_qwen3_235b.py |
test/registered/8-gpu-models/ |
test/manual/ |
移除register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True) |
每个文件的变更模式完全一致:
- 删除导入语句:
from sglang.test.ci.ci_register import register_cuda_ci
- 删除注册调用:
register_cuda_ci(...)
- 文件物理移动到
test/manual/目录
测试逻辑、模型路径、参数设置等核心内容均保持不变。
评论区精华
该PR没有review评论,表明变更直接明了,无需技术讨论。从提交信息看,作者alisonshao和合并者Kangyan-Zhou都认可这是一个必要的修复。
风险与影响
技术风险:
- 极低风险:仅目录结构调整,无代码逻辑修改
- 无回归风险:测试功能完全保留
- 无性能影响:纯元数据操作
- 唯一潜在风险是如果有代码硬编码了这些测试文件的原始路径,但考虑到这是标准测试目录结构调整,且
test/manual是预期位置,这种可能性很小
影响分析:
- 对CI系统:修复了关键错误,确保测试套件能正常收集和执行
- 对开发团队:解决了由#22288引入的CI中断问题,恢复了夜间测试能力
- 对用户:无直接影响,这是内部基础设施维护
关联脉络
本PR是近期CI测试基础设施调整的一部分:
-
直接关联PR #22288:该PR更新H200/B200夜间测试模型时,错误地将这三个测试文件放入了test/registered/目录,引发了本PR要修复的问题。
-
相关PR #22297:在发现#22288的问题后,团队最初尝试了完全撤销该PR(#22297),但本PR提供了更精细的修复方案——仅移动文件而非完全回退。
-
更大的CI演进趋势:从近期历史PR可见,团队持续优化测试基础设施,包括:
- 添加快速失败机制(#22284)
- 优化测试资源使用(#22301)
- 迁移测试数据集减少依赖(#21931)
本PR延续了这一趋势,通过清晰的目录分离(registered vs manual)提升测试管理的规范性。
参与讨论