执行摘要
本 PR 修复了 Ascend 夜间 CI 和 Docker 构建失败的问题。主要调整了 nightly_ascend.yml 中的步骤顺序(将 checkout 提前),并为四个 Docker 构建工作流添加了缓存作用域(scope),防止并行构建时的缓存冲突。变更均为 CI 配置,无核心代码改动,风险极低。
功能与动机
根据 PR 描述,本 PR 旨在“修复 nightly CI 和 Docker 失败”。结合近期历史(如 #7148 也是修复 nightly CI),说明 Ascend 相关的 CI 流水线存在稳定性问题。需要调整以确保自动化测试和 Docker 镜像构建的可靠性。
实现拆解
- 调整
nightly_ascend.yml 步骤顺序:将 Checkout verl-project/verl repo 步骤从 Install uv 之后移到 Install Ascend NPU driver 之后、Install uv 之前。这一修改确保在安装 Python 依赖前代码已就绪,避免了因文件缺失导致的安装失败。
- 为 Docker 构建添加缓存作用域:在
docker-build-ascend-a2.yml、docker-build-ascend-a3.yml、docker-build-ascend-sglang-a2.yml 和 docker-build-ascend-sglang-a3.yml 中,将 cache-from: type=gha 和 cache-to: type=gha,mode=max 分别改为带 scope 参数的形式(如 cache-from: type=gha,scope=ascend-${{ matrix.tag }})。这实现了不同 tag 之间的缓存隔离,避免因共享缓存导致的构建失败或缓存误用。
无核心代码变更,仅 YAML 配置调整。
评论区精华
无有效的 review 讨论。PR 只有一个来自 GitHub 机器人的自动评论,无实际内容。
风险与影响
- 风险:极低。所有变更仅涉及 CI 配置:
- 步骤顺序调整:如果该 job 内部还有其他依赖,但当前未发现问题;
- 缓存作用域:可能因作用域命名冲突导致缓存未命中(概率极低)。
- 影响:
- 正面:提升 nightly CI 的稳定性,减少因步骤顺序导致的失败;Docker 构建在各 tag 之间不会互相干扰缓存。
- 负面:无。
关联脉络
- 与 #7148(同样修复 Ascend nightly CI)直接相关,本 PR 在 #7148 的基础上进一步调整了步骤顺序;
- 与 #7124(修复 Ascend Docker tag)同属 Ascend CI 维护系列。
参与讨论