Prhub

#22478 [Docker] Fix CI docker target after Dockerfile restructure

原始 PR 作者 ishandhanani 合并时间 2026-04-10 09:53 文件变更 2 提交数 1 评论 1 代码增减 +5 / -5

执行摘要

修复 Dockerfile 重构后 CI 构建目标错误,确保框架镜像包含完整 sglang 包。

PR #22160重构Dockerfile后,CI工作流仍使用旧的构建目标--target framework,而该阶段已不再包含sglang源代码,导致发布的Docker镜像中缺少sglang.srt包,使得sglang serve和所有SRT功能无法正常工作。PR body明确指出:'Published dev and release framework images are missing the sglang.srt package entirely. import sglang works but sglang serve and all SRT functionality is broken.'

该PR值得快速审阅,重点关注:

  1. 确保所有需要修改的CI工作流文件都已覆盖(已确认release-docker-runtime.yml不受影响)。
  2. 理解Dockerfile多阶段构建的设计,特别是framework与framework_final阶段的区别。
  3. 可作为基础设施变更后及时更新依赖配置的典型案例。
讨论亮点

无review评论,PR由作者直接合并。从提交信息和PR body看,这是一个紧急修复,针对PR #22160引入的回归问题。

实现拆解

修改两个CI工作流文件中的docker buildx build命令参数:

  1. .github/workflows/release-docker-dev.yml:将第96行的--target framework改为--target framework_final
  2. .github/workflows/release-docker.yml:将第83、106、180、203行的--target framework改为--target framework_final
    总共5处修改,确保CI构建时使用正确的Docker构建阶段。
文件 模块 状态 重要度
.github/workflows/release-docker.yml CI/CD modified 8.0
.github/workflows/release-docker-dev.yml CI/CD modified 7.0

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险较低但关键:

  1. 回归风险:如果修改不完整或错误,可能导致CI构建的Docker镜像仍然缺少sglang.srt包,影响所有依赖这些镜像的用户。
  2. 兼容性风险:无,只是修复构建目标指向问题。
  3. 测试覆盖:PR body提到测试计划包括检查grep结果和验证dev docker构建,但未提供实际测试结果确认。

影响范围:

  1. 对用户:修复后,使用官方Docker镜像(lmsysorg/sglang)的用户将能正常使用sglang serve和SRT功能,避免功能缺失。
  2. 对系统:确保CI/CD流水线正确构建功能完整的Docker镜像。
  3. 对团队:防止因镜像问题导致的用户报障和开发阻塞。影响程度为高,因为涉及核心功能的可用性。
CI 配置错误 依赖更新滞后

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论