Prhub

#26642 [AMD] ci: switch CACHE_HOST to a fresh path to fix "No space left on device"

原始 PR 作者 michaelzhang-ai 合并时间 2026-05-29 10:40 文件变更 1 提交数 1 评论 1 代码增减 +1 / -1

执行摘要

更改 AMD CI 缓存路径解决磁盘空间不足

AMD CI 任务因持久缓存卷 /home/runner/sglang-data 空间已满,导致 HF 权重下载锁失败,报错 OSError: No space left on device。参见错误日志:https://github.com/sgl-project/sglang/actions/runs/26611381745/job/78417864501#step:6:395

可快速合入以解除 AMD CI 阻塞。后续应清理或扩容持久缓存卷,以恢复缓存复用。

讨论亮点

无 review 讨论。两个 reviewer 直接批准。

实现拆解

  1. 修改脚本 scripts/ci/amd/amd_ci_start_container.sh 第 276 行,将 CACHE_HOST 从 /home/runner/sglang-data 改为 /home/runner/temp-sglang-data
  2. 该路径在 CI runner 上不存在,因此脚本中的条件判断 if [[ -d "$CACHE_HOST" ]] 不成立,跳过绑定挂载。
  3. 容器内的 /sgl-data 使用临时存储,有充足空间,但模型缓存不再跨构建复用。
文件 模块 状态 重要度
scripts/ci/amd/amd_ci_start_container.sh CI 部署脚本 modified 2.95

关键源码片段

scripts/ci/amd/amd_ci_start_container.sh infrastructure

修改了 CACHE_HOST 路径,这是修复磁盘满问题的唯一变更文件。

# 原路径 : CACHE_HOST=/home/runner/sglang-data
# 新路径 : 一个不存在的临时路径,使得条件判断失败,跳过绑定挂载
CACHE_HOST=/home/runner/temp-sglang-data
​
if [[ -d "$CACHE_HOST" ]]; then
  CACHE_VOLUME="-v $CACHE_HOST:/sgl-data"
else
  CACHE_VOLUME="" # 无挂载,使用容器临时存储
fi

评论区精华

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

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

风险与影响

无回归风险。变更仅为临时工作区路径,不涉及核心逻辑。但若 runner 磁盘空间恢复或路径名变更,需手动恢复缓存挂载。

直接影响 AMD CI 任务:解除磁盘满导致的阻塞,但模型权重缓存不再跨任务复用,每次 CI 需重新下载权重,增加网络开销和时间。不影响用户系统或其他 CI 任务。

临时性修复

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论