Prhub

#22388 [CI] Replace upload/download-artifact with job outputs in release-docker-runtime

sgl-project/sglang · 作者 Kangyan-Zhou · 合并时间 2026-04-09 07:13

分析状态 已生成
文件变更 1提交数 1 · 评论 1
代码增减 +18 / -34
run-ci bugfix

执行摘要

修复 release-docker-runtime CI 工作流,使用 job outputs 替代 artifact 上传下载,解决 Docker tag 缺失问题。

PR body 指出:'Fix missing runtime Docker tags for v0.5.10',关联 Issue #22378 报告了 v0.5.10 缺少 *-runtime Docker tags,修复是为了确保 runtime Docker 镜像能像之前版本一样正常发布。

对于一般工程师,此 PR 变更简单,无需深入精读,但可作为了解 GitHub Actions job outputs 最佳实践的参考;对于 CI 维护者,值得关注以确保类似工作流的一致修复和配置一致性。

讨论亮点

无 review 讨论,变更由作者直接提交并合并,基于先前 PR #21579 的成功经验,无争议或设计权衡。

实现拆解

主要修改 .github/workflows/release-docker-runtime.yml 文件:1. 在 publish-x86 和 publish-arm64 jobs 中添加 outputs 字段,定义 digest-cu129 和 digest-cu130 输出,从构建步骤的 $GITHUB_OUTPUT 获取;2. 移除 upload-artifact 步骤,不再将 digest 写入文件并上传;3. 在 create-manifests job 中移除 download-artifact 步骤,改为直接从上游 jobs 的 outputs 引用 digest 值。这简化了 digest 传递机制,避免了文件操作相关的错误。

文件 模块 状态 重要度
.github/workflows/release-docker-runtime.yml CI/Infrastructure modified 4.0

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

评论区精华

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

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

风险与影响

风险较低:1. 依赖 GitHub Actions job outputs 的稳定性,但这是官方推荐方式;2. 如果 outputs 定义或引用错误,可能导致 create-manifests job 失败,但变更基于已验证的 #21579;3. 无代码逻辑变更,主要风险在于 CI 配置的正确性,但变更简单直接。

影响:1. 用户:确保 runtime Docker 镜像标签正确发布,便于用户使用特定版本镜像;2. 系统:CI 工作流更可靠,减少因 artifact 问题导致的发布失败,提升发布流程稳定性;3. 团队:简化维护,避免类似 #22378 的 issue 再次发生,影响范围限于 Docker 镜像发布流程。

CI 配置变更 依赖外部服务

关联 Issue

#21579 [CI] Replace upload/download-artifact with job outputs in release-docker workflow
#22378 Missing `*-runtime` Docker tags for v0.5.10

完整报告

执行摘要

  • 一句话:修复 release-docker-runtime CI 工作流,使用 job outputs 替代 artifact 上传下载,解决 Docker tag 缺失问题。
  • 推荐动作:对于一般工程师,此 PR 变更简单,无需深入精读,但可作为了解 GitHub Actions job outputs 最佳实践的参考;对于 CI 维护者,值得关注以确保类似工作流的一致修复和配置一致性。

功能与动机

PR body 指出:'Fix missing runtime Docker tags for v0.5.10',关联 Issue #22378 报告了 v0.5.10 缺少 *-runtime Docker tags,修复是为了确保 runtime Docker 镜像能像之前版本一样正常发布。

实现拆解

主要修改 .github/workflows/release-docker-runtime.yml 文件:1. 在 publish-x86 和 publish-arm64 jobs 中添加 outputs 字段,定义 digest-cu129 和 digest-cu130 输出,从构建步骤的 $GITHUB_OUTPUT 获取;2. 移除 upload-artifact 步骤,不再将 digest 写入文件并上传;3. 在 create-manifests job 中移除 download-artifact 步骤,改为直接从上游 jobs 的 outputs 引用 digest 值。这简化了 digest 传递机制,避免了文件操作相关的错误。

关键文件:

  • .github/workflows/release-docker-runtime.yml(模块 CI/Infrastructure): 这是修改的唯一文件,负责发布 runtime Docker 镜像的 CI 工作流,变更影响了 digest 传递机制,直接关联到 Docker 标签生成成功与否。

关键符号:未识别

评论区精华

无 review 讨论,变更由作者直接提交并合并,基于先前 PR #21579 的成功经验,无争议或设计权衡。

  • 暂无高价值评论线程

风险与影响

  • 风险:风险较低:1. 依赖 GitHub Actions job outputs 的稳定性,但这是官方推荐方式;2. 如果 outputs 定义或引用错误,可能导致 create-manifests job 失败,但变更基于已验证的 #21579;3. 无代码逻辑变更,主要风险在于 CI 配置的正确性,但变更简单直接。
  • 影响:影响:1. 用户:确保 runtime Docker 镜像标签正确发布,便于用户使用特定版本镜像;2. 系统:CI 工作流更可靠,减少因 artifact 问题导致的发布失败,提升发布流程稳定性;3. 团队:简化维护,避免类似 #22378 的 issue 再次发生,影响范围限于 Docker 镜像发布流程。
  • 风险标记:CI配置变更, 依赖外部服务

关联脉络

  • PR #21579 [CI] Replace upload/download-artifact with job outputs in release-docker workflow: 本 PR 应用了与 #21579 相同的修复,将 job outputs 替代 artifact 的方法扩展到 release-docker-runtime 工作流,两者都是 CI 配置优化。

参与讨论