执行摘要
此 PR 修复了 XPU CI 环境中因缺少 OpenSSL 开发头文件导致 JIT 编译 hicache_hash_cpp C++ 扩展失败的问题。变更包括在 docker/xpu.Dockerfile 中添加 libssl-dev 依赖,并在 CI 工作流中添加临时桥接修复以确保当前 PR 测试通过。
功能与动机
动机源于 XPU CI 中执行 Mamba radix 缓存相关测试(如 test_mamba_radix_cache_kv_events)时失败。错误日志显示 fatal error: openssl/sha.h: No such file or directory,表明 JIT 构建的 hicache_hash_cpp C++ 扩展需要 OpenSSL 头文件。这与 PR #34767 中修复 Xeon 镜像的问题相同,但未涵盖 XPU 镜像。
实现拆解
变更分为两部分:
- 根本修复:在
docker/xpu.Dockerfile 的 apt-get install 命令中添加 libssl-dev 包。这确保了新构建的 XPU 镜像包含 OpenSSL 开发头文件,使 JIT 编译能够成功。
- 临时桥接修复:在
.github/workflows/pr-test-xpu.yml 的两个测试作业(stage-a-test-1-gpu-xpu 和 stage-a-test-2-gpu-xpu)的“Install Dependency”步骤中,添加在运行容器内通过 apt-get install 安装 libssl-dev 的命令。这是因为 CI 使用的是预构建的 intel/sglang-dev:latest 镜像,Dockerfile 的更改尚未生效,需要临时在容器中安装依赖以确保当前 PR 的测试能通过。
无关键源码片段。此 PR 仅涉及 Dockerfile 和 CI 工作流配置的微小变更。
评论区精华
无讨论。PR 被直接批准合并。
风险与影响
- 风险:低。变更仅影响 XPU Docker 镜像和 CI 工作流,不涉及核心运行时代码。主要风险是临时桥接修复未按计划移除,导致 CI 脚本冗余。
- 影响:直接影响 XPU CI 环境,使依赖 OpenSSL 的 JIT 编译扩展(如
hicache_hash_cpp)能够成功构建。间接影响使用 XPU Docker 镜像的开发者,确保环境一致性。
关联脉络
此 PR 是 PR #34767(修复 Xeon 镜像中相同问题)的后续,将修复逻辑扩展到 XPU 平台。两者共同解决了不同 Docker 镜像中缺失 OpenSSL 依赖导致 JIT 编译失败的一致性问题。
参与讨论