# PR #26642 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD] ci: switch CACHE_HOST to a fresh path to fix "No space left on device"
- 合并时间：2026-05-29 10:40
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/26642

---

# 执行摘要

- 一句话：更改 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

# 实现拆解

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 部署脚本；类别 infra；类型 infrastructure）: 修改了 CACHE_HOST 路径，这是修复磁盘满问题的唯一变更文件。

关键符号：未识别

## 关键源码片段

### `scripts/ci/amd/amd_ci_start_container.sh`

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

```bash
# 原路径 : 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 任务。
- 风险标记：临时性修复

# 关联脉络

- 暂无明显关联 PR