Prhub

#6085 [ci] chore: add sgl_ascend cu for NPU

原始 PR 作者 Annarine 合并时间 2026-04-28 10:14 文件变更 1 提交数 5 评论 5 代码增减 +126 / -0

执行摘要

为 Ascend NPU 新增 sglang CI 工作流

PR body 说明:"Add sglang ci yaml for Ascend NPU"。目的是为 NPU 上的 sglang 功能提供自动化测试,填补此前仅有 vllm (vllm_ascend) 而无 sglang CI 的空白。

该 PR 是基础设施常规变更,不值得精读,但值得关注其触发条件设计和镜像选择策略,可作为后续新增 NPU 工作流的模板。

讨论亮点

reviewer @yyyy2000 提出四点意见:

  • 删除不再需要的行(原注释块中的冗余内容)。
  • 容器镜像应使用 sglang 专用镜像,而非 vllm 镜像(引用具体镜像地址)。
  • 工作流名称应为 sglang_ascend(原可能误用其他名称)。
  • 触发条件需参考 sgl.yml 重写,并替换为 sgl_ascend.yml 自身路径。
    所有意见均在合并前被采纳,最终工作流配置符合现有 CI 规范。

实现拆解

  1. 创建 workflow 文件:在 .github/workflows/ 下新增 sgl_ascend.yml,定义名称为 sglang_ascend 的 CI 工作流。
  2. 配置触发条件:初始为 push/pull_request 到 main/v0.* 分支,并限定路径过滤;根据 review 建议修改为类似 sgl.yml 的触发设置,仅当 sglang 相关文件变化时触发。
  3. 指定运行环境:选用 linux-aarch64-a3-8 节点,并使用 swr.cn-southwest-2 的 sglang 专用镜像(verl-sglang-8.5.0-910b-ubuntu22.04-py3.11-latest),确保 NPU 驱动和库版本匹配。
  4. 定义 job 步骤:包括环境准备、依赖安装、运行 sglang 单元测试和端到端测试;超时设为 90 分钟。
文件 模块 状态 重要度
.github/workflows/sgl_ascend.yml CI 配置 added 5.63

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

评论区精华

删除不再需要的行 other

reviewer @yyyy2000 指出某行注释块不再需要。

结论:已采纳,删除冗余注释。 · 已解决

容器镜像应使用 sglang 专用镜像 设计

reviewer 指出原镜像为 vllm 镜像,应改为 sglang 专用镜像:`swr.cn-southwest-2.myhuaweicloud.com/modelfoundry/ascend-ci/verl/verl:verl-sglang-8.5.0-910b-ubuntu22.04-py3.11-latest`。

结论:已修改为指定镜像。 · 已解决

工作流名称应为 sglang_ascend other

reviewer 建议将工作流 name 改为 `sglang_ascend`。

结论:已修改。 · 已解决

触发条件需类似 sgl.yml 并引用自身路径 设计

reviewer 指出原触发条件不正确,应参考 sgl.yml 设置路径过滤,并将 `.github/workflows/sgl.yml` 替换为 `.github/workflows/sgl_ascend.yml`。

结论:已采纳,触发条件重写。 · 已解决

风险与影响

低风险。新增的 CI 工作流仅影响 NPU CI 场景,不修改任何源代码。主要风险:触发条件配置不当可能导致误触发或漏触发;镜像版本与 NPU 环境不兼容导致测试失败;长时间运行占用 CI 资源。但这些问题通过 review 已缓解。

用户:NPU 上的 sglang 用户可获得持续验证,减少回归风险。系统:增加 A3 节点上的 CI 负载(约 90 分钟/次),但限于 sglang 变更时触发。团队:需维护该工作流,未来修改 sglang 代码时必须确保 NPU 兼容性。

CI 资源消耗 配置错误风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论