# PR #22745 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[CI] Add optional image input to GB200 nightly workflow_dispatch
- 合并时间：2026-04-14 14:57
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/22745

---

## 执行摘要
此 PR 为 GB200 夜间 CI 工作流添加了手动触发时的可选 Docker 镜像参数，允许用户指定自定义镜像进行测试，默认值保持不变。这是一个低风险的 CI 基础设施改进，提升了测试灵活性，不影响计划运行或核心功能。

## 功能与动机
**为什么做**：根据 PR body，主要目的是让用户能在手动触发 GB200 夜间流水线时指定自定义 SGLang Docker 镜像，以便测试特定 nightly 标签或开发构建，而无需等待计划运行。这解决了“测试特定镜像时缺乏灵活性”的问题。

## 实现拆解
**改动文件**：仅修改了 `.github/workflows/nightly-72-gpu-gb200.yml`。

**关键变更**：
1. 在 `workflow_dispatch` 下新增 `inputs` 部分：
   ```yaml
   inputs:
     image:
       description: 'SGLang Docker image to benchmark'
       required: false
       default: 'lmsysorg/sglang:dev-cu13'
   ```
2. 在 jobs 中修改 `IMAGE` 环境变量：
   ```yaml
   env:
     IMAGE: ${{ inputs.image || 'lmsysorg/sglang:dev-cu13' }}
   ```
 这确保了用户输入优先，否则回退到默认镜像。

## 评论区精华
Review 讨论非常简短：只有 ishandhanani 的批准，无技术交锋。在关联 Issue 中，作者 csahithi 提到：
> “Pls ignore the deployment error, I was simply testing if the updated image was getting picked up or not and then cancelled the pipeline.”
这表明作者在验证参数是否生效，但未引发深度讨论。

## 风险与影响
**风险**：低风险。主要风险是用户可能指定不兼容的镜像，导致测试环境不一致或失败，但这是用户可控的。计划触发的夜间运行不受影响，减少了回归风险。

**影响**：
- 对用户：开发者可以更灵活地测试自定义镜像，加速迭代。
- 对系统：仅 CI 配置变更，不影响 SGLang 运行时或模型逻辑。
- 对团队：简化了 GB200 集群的特定镜像测试流程。

## 关联脉络
此 PR 与近期多个 CI 改进 PR 一脉相承：
- PR #22733 为同一文件添加了 `workflow_dispatch` 和环境门控，本 PR 在此基础上扩展了输入参数。
- PR #22741 和 #22534 也涉及 CI 基础设施优化，如依赖管理和重跑逻辑。
这反映了团队持续优化 CI/CD 管道，特别是针对 GB200 等高性能硬件的测试流程。