Prhub

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

原始 PR 作者 Kangyan-Zhou 合并时间 2026-04-09 07:13 文件变更 1 提交数 1 评论 1 代码增减 +18 / -34

执行摘要

修复 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

完整报告

参与讨论