执行摘要
- 一句话:清理CI测试套件中过时的Ascend NPU条目,修复XPU CI检查失败。
- 推荐动作:该PR变更简单直接,适合快速浏览以了解CI套件清理模式。值得关注的是如何通过__not_in_ci__处理遗留文件,以及sanity check机制对文件存在性的依赖。
功能与动机
根据PR body描述,Ascend NPU测试已迁移到新的注册制CI系统(test/registered/ascend/,由test/run_suite.py管理),但旧条目未清理。这导致XPU CI的sanity check失败,因为_sanity_check_suites()断言所有缺失的Ascend测试文件都存在,即使XPU从不运行这些测试。具体失败见https://github.com/sgl-project/sglang/actions/runs/23919335318/job/69761428239。
实现拆解
- 删除test/srt/run_suite.py中整个suite_ascend字典定义(37行删除),包括per-commit-1-npu-a2、per-commit-2-npu-a2、per-commit-4-npu-a3、per-commit-16-npu-a3四个子套件。2. 将唯一保留的本地文件ascend/test_embed_interpolate_unittest.py移至__not_in_ci__列表(3行添加)。3. 移除suites.update(suite_ascend)调用。
关键文件:
test/srt/run_suite.py(模块 CI/测试基础设施): 唯一修改文件,包含CI测试套件定义,清理过时Ascend条目修复XPU CI失败。
关键符号:_sanity_check_suites()(间接影响)
评论区精华
无review评论,但关联Issue评论显示:1. gemini-code-assist[bot]提示配额限制。2. Fridge003执行/tag-and-rerun-ci。3. Godmook确认此PR已修复问题,并提及#21916(可能为相关PR)。
- 修复CI失败确认 (other): PR有效解决了XPU CI的sanity check失败。
风险与影响
- 风险:1. 回归风险:删除suite_ascend可能意外影响依赖旧路径的脚本或文档,但新注册系统已就绪,风险较低。2. 兼容性风险:__not_in_ci__列表添加文件可能被误用,但该文件本就不在CI中,影响有限。3. 逻辑风险:sanity check逻辑假设所有套件条目对应真实文件,此次清理正修复此假设,无新增风险。
- 影响:1. 对系统:修复XPU CI稳定性,避免因过时条目导致失败;清理代码库,减少技术债务。2. 对团队:CI运行更可靠,减少调试时间;明确测试套件管理边界。3. 对用户:无直接影响,属内部基础设施改进。
- 风险标记:清理过时条目, CI依赖假设
关联脉络
- PR #21916 未知(从评论提及推断): Godmook在评论中提及此PR,可能为相关CI修复或Ascend迁移PR。
- PR #21408 [NPU] Support GLM-4.7-Flash on NPU: 同属NPU相关PR,涉及硬件后端和测试,可能共享类似CI上下文。
参与讨论