执行摘要
稳定 ROCm CI 的 Cargo 缓存和镜像检查
ROCm CI 中观察到并发 Cargo 缓存损坏,且原有 Docker 清理逻辑可能因共享守护进程引发问题。需要不依赖全局缓存清理即可防止损坏,并在单节点测试前提前发现镜像构建缺陷。
值得参考其 CI 加固手法,特别是缓存互斥锁和烟雾测试模式,可推广至其他 CI 环境。
PR 无 review 评论,仅获得维护者 tjtanaa 的 LGTM。由于是 CI 基础设施变更,讨论可能在线下完成。
ROCm CI 中观察到并发 Cargo 缓存损坏,且原有 Docker 清理逻辑可能因共享守护进程引发问题。需要不依赖全局缓存清理即可防止损坏,并在单节点测试前提前发现镜像构建缺陷。
值得参考其 CI 加固手法,特别是缓存互斥锁和烟雾测试模式,可推广至其他 CI 环境。
PR 无 review 评论,仅获得维护者 tjtanaa 的 LGTM。由于是 CI 基础设施变更,讨论可能在线下完成。
sharing=locked 和唯一 ID,防止并行 BuildKit 作业写入冲突;增加 CARGO_NET_RETRY=10 和 RUSTUP_MAX_RETRIES=10 提高网络容错。 docker run 命令,在容器内检查关键目录、可执行文件、工具链 (python3, uv, pytest) 以及 ROCm CLI,并导入 torch/vllm 验证版本,任何检查失败则提前退出。 cleanup_docker 函数替换为只读的 report_docker_usage,避免主动清理造成副作用;重构 EXIT 陷阱,确保容器清理不影响测试退出码。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
.buildkite/hardware_tests/amd.yaml |
测试编排 | modified | 5.11 |
.buildkite/scripts/hardware_ci/run-amd-test.sh |
CI 脚本 | modified | 4.68 |
docker/Dockerfile.rocm |
镜像构建 | modified | 3.68 |
分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
风险较低:缓存加锁可能在高并发时轻微阻塞,但远优于缓存损坏;烟雾测试增加约数秒构建时长;移除 Docker 清理可能导致磁盘使用积压,但报告模式已保留可见性,且避免误清理。
影响限定在 ROCm CI 流程:镜像构建更可靠,单节点测试前有自动校验,Docker 资源清理改为被动观察。对 vLLM 核心逻辑无影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论