Prhub

#7176 [ci] fix: update Ascend nightly CI & docker

原始 PR 作者 kyle-zhangchi 合并时间 2026-07-28 17:58 文件变更 5 提交数 1 评论 1 代码增减 +17 / -17

执行摘要

修复 Ascend 夜间 CI 和 Docker 构建缓存

根据 PR 描述:“Fixed the nightly CI and Docker failures.” 结合近期历史 PR(如 #7148 也是修复 Ascend nightly CI),说明当前 CI 流水线存在不稳定问题,需要修复以确保自动化测试和 Docker 构建的可靠性。

该 PR 是常规的 CI 维护,技术含量低,但值得关注其修复模式(步骤顺序调整和缓存作用域),未来类似 CI 问题可借鉴。建议快速合并。

讨论亮点

无有效的 review 讨论。PR 只有一个来自 gemini-code-assist[bot] 的自动评论,指出其代码审查功能已停止,无实际讨论价值。

实现拆解

  1. 调整步骤顺序(nightly_ascend.yml:将 Checkout verl-project/verl repo 步骤从原来的位置(Install uv 之后)提前到 Install Ascend NPU driver 之后、Install uv 之前。这确保在安装依赖前工作区已就绪,避免包安装因缺少代码而发生错误。
  2. 为 Docker 构建添加缓存作用域:在 docker-build-ascend-a2.ymldocker-build-ascend-a3.ymldocker-build-ascend-sglang-a2.ymldocker-build-ascend-sglang-a3.yml 中,将 cache-from: type=gha 改为 cache-from: type=gha,scope=ascend-${{ matrix.tag }}(或类似作用域),cache-to 同理。这确保不同 tag 的构建使用独立的缓存,避免因缓存键冲突导致构建失败或使用过期缓存。
文件 模块 状态 重要度
.github/workflows/nightly_ascend.yml CI 配置 modified 3.67
.github/workflows/docker-build-ascend-a2.yml CI 配置 modified 3.55
.github/workflows/docker-build-ascend-a3.yml CI 配置 modified 3.55
.github/workflows/docker-build-ascend-sglang-a2.yml CI 配置 modified 3.21
.github/workflows/docker-build-ascend-sglang-a3.yml CI 配置 modified 3.21

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

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低。所有变更均为 CI 配置调整,不涉及核心业务代码。主要风险是:

  • 如果作用域命名与其他工作流冲突(可能性低),可能导致缓存未命中,增加构建时间;
  • 步骤顺序调整可能影响其他依赖 checkout 步骤的 job,但该 job 内部已确保顺序正确。

影响范围限于 CI 流水线和 Docker 镜像构建过程。预期效果:

  • nightly_ascend.yml 将能正确运行,减少因步骤顺序导致的中断;
  • Docker 构建的缓存隔离将避免并行构建时的竞态条件和缓存污染,提升构建稳定性。
    对用户无直接影响。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论