执行摘要
- 一句话:更改 AMD CI 缓存路径解决磁盘空间不足
- 推荐动作:可快速合入以解除 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
实现拆解
- 修改脚本
scripts/ci/amd/amd_ci_start_container.sh 第 276 行,将 CACHE_HOST 从 /home/runner/sglang-data 改为 /home/runner/temp-sglang-data。
- 该路径在 CI runner 上不存在,因此脚本中的条件判断
if [[ -d "$CACHE_HOST" ]] 不成立,跳过绑定挂载。
- 容器内的
/sgl-data 使用临时存储,有充足空间,但模型缓存不再跨构建复用。
关键文件:
scripts/ci/amd/amd_ci_start_container.sh(模块 CI部署脚本;类别 infra;类型 infrastructure): 修改了 CACHE_HOST 路径,这是修复磁盘满问题的唯一变更文件。
关键符号:未识别
关键源码片段
scripts/ci/amd/amd_ci_start_container.sh
修改了 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
评论区精华
无 review 讨论。两个 reviewer 直接批准。
风险与影响
- 风险:无回归风险。变更仅为临时工作区路径,不涉及核心逻辑。但若 runner 磁盘空间恢复或路径名变更,需手动恢复缓存挂载。
- 影响:直接影响 AMD CI 任务:解除磁盘满导致的阻塞,但模型权重缓存不再跨任务复用,每次 CI 需重新下载权重,增加网络开销和时间。不影响用户系统或其他 CI 任务。
- 风险标记:临时性修复
关联脉络
参与讨论