# PR #22388 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[CI] Replace upload/download-artifact with job outputs in release-docker-runtime
- 合并时间：2026-04-09 07:13
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/22388

---

# 执行摘要

- 一句话：修复 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 配置优化。