执行摘要
- 一句话:修复 AMD CI 缓存目录空间不足
- 推荐动作:可合并以解决当前 CI 阻塞问题,但建议后续完善目录创建逻辑,避免缓存静默失效。
功能与动机
AMD PR 测试 stage-a-test-1-gpu-small-amd 因 CI 缓存卷空间满(OSError: [Errno 28] No space left on device)而失败,导致 test_basic_sanity_eagle3.py 在下载模型权重时崩溃。
实现拆解
在 scripts/ci/amd/amd_ci_start_container_disagg.sh 中将 CACHE_HOST 的值从 /home/runner/sglang-data 改为 /home/runner/temp-sglang-data,以使用一个全新的缓存路径,避免原有磁盘空间不足的问题。
关键文件:
scripts/ci/amd/amd_ci_start_container_disagg.sh(模块 部署脚本;类别 infra;类型 infrastructure): 唯一的变更文件,修改了缓存路径配置,直接修复 CI 空间不足问题。
关键符号:未识别
关键源码片段
scripts/ci/amd/amd_ci_start_container_disagg.sh
唯一的变更文件,修改了缓存路径配置,直接修复 CI 空间不足问题。
# 将 CACHE_HOST 改为新的路径以避开已满的持久化缓存卷
# 注意:若该路径不存在,目录检查将失败并静默禁用缓存
CACHE_HOST=/home/runner/temp-sglang-data
if [[ -d "$CACHE_HOST" ]]; then
CACHE_VOLUME="-v $CACHE_HOST:/sgl-data"
else
# 目录不存在时缓存静默禁用,建议增加 mkdir -p 逻辑
echo "Warning: Cache host directory $CACHE_HOST does not exist. Cache disabled."
CACHE_VOLUME=""
fi
评论区精华
gemini-code-assist[bot] 指出,如果新路径不存在,目录检查会失败并静默禁用缓存,导致每次运行都重新下载模型,进而可能再次出现空间不足。但该评论未获采纳或回复。
- 新缓存路径不存在时缓存静默禁用 (other): 未采纳建议,仅修改路径,未增加目录创建逻辑。
风险与影响
- 风险:低风险。但若新目录不存在,缓存将静默失效,每次运行需重新下载模型,可能增加运行时间和容器存储压力。建议在脚本中增加目录创建逻辑以确保缓存可用。
- 影响:仅影响 AMD CI 环境,修复缓存空间溢出导致的作业失败。变更范围极小,无功能或性能影响。
- 风险标记:静默缓存失效, 临时修复
关联脉络
参与讨论