# PR #32297 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[ci][diffusion] Read consistency GT from ci-data-diffusion @ per-platform commit
- 合并时间：2026-07-25 09:55
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/32297

---

# 执行摘要

- 一句话：Diffusion CI 一致性 GT 迁移至新仓库
- 推荐动作：该 PR 属于基础设施清理，技术含量低，但作为 CI 链路的一部分值得关注。建议阅读以了解 diffusion CI 的数据管理方式。

# 功能与动机

原先的 GT 数据发布在 `sgl-project/ci-data`，但该仓库已被冻结且只读。为了支持独立的 GT 生成工作流以及更灵活的平台管理，需要将 GT 发布到新的 `sgl-project/ci-data-diffusion` 仓库。PR body 的注释和代码注释也说明了这一背景。

# 实现拆解

1. **更新数据源仓库和 commit SHA**：在 `python/sglang/multimodal_gen/test/test_utils.py` 中，将 `SGL_TEST_FILES_CI_DATA_REPO` 从 `"sgl-project/ci-data"` 改为 `"sgl-project/ci-data-diffusion"`，并将 `SGL_TEST_FILES_CI_DATA_REVISION` 从旧的 commit `320949e...` 更新为新仓库的 commit `6d689f4...`。
2. **合并 NPU 平台的 commit 为同一值**：原先 NPU 平台使用独立的 revision `6b62f4b...`，现在将其改为与默认平台相同的 commit `6d689f4...`，并在注释中说明 NPU pin 保留为独立分支以支持独立更新节奏。
3. **同步更新单元测试断言**：在 `python/sglang/multimodal_gen/test/unit/test_consistency_metrics.py` 的 `test_consistency_gt_urls_are_pinned_to_ci_data_revision` 测试中，修改断言逻辑：新增 `SGL_TEST_FILES_CI_DATA_REVISION != "main"` 的检查，并将硬编码的 `/ci-data/` 路径改为动态拼接 repo 和 revision 的路径格式，同时移除旧的对 `/ci-data/main/` 的否定断言。确保测试与新的 repo/revision 组合兼容。

关键文件：
- `python/sglang/multimodal_gen/test/test_utils.py`（模块 测试工具；类别 test；类型 test-coverage）: 核心变更文件，更新了 GT 数据仓库和 commit SHA，并调整了 NPU 平台的 revision 策略。
- `python/sglang/multimodal_gen/test/unit/test_consistency_metrics.py`（模块 一致性测试；类别 test；类型 test-coverage）: 更新单元测试以匹配新的 repo 和 revision 格式，确保断言仍然有效。

关键符号：未识别

## 关键源码片段

### `python/sglang/multimodal_gen/test/test_utils.py`

核心变更文件，更新了 GT 数据仓库和 commit SHA，并调整了 NPU 平台的 revision 策略。

```python
# GT is read from <repo>@<revision>. A given SHA only exists in the repo it was
# committed to, so REPO and REVISION must be bumped together. All GT (CUDA and
# NPU/ascend) is read from sgl-project/ci-data-diffusion, where the GT-gen workflows
# publish.
SGL_TEST_FILES_CI_DATA_REPO = "sgl-project/ci-data-diffusion"
SGL_TEST_FILES_CI_DATA_REVISION = "6d689f4833e8c106ff0d853865f50496d1f2b453"

# The NPU pin is kept as a separate branch so ascend GT can be bumped independently
# when it's regenerated on its own cadence.
if current_platform.is_npu():
    SGL_TEST_FILES_CI_DATA_REVISION = "6d689f4833e8c106ff0d853865f50496d1f2b453"

```

### `python/sglang/multimodal_gen/test/unit/test_consistency_metrics.py`

更新单元测试以匹配新的 repo 和 revision 格式，确保断言仍然有效。

```python
def test_consistency_gt_urls_are_pinned_to_ci_data_revision():
    # GT must be pinned to an immutable commit (not a moving branch) so results are
    # reproducible and the per-URL download cache invalidates on regeneration.
    assert test_utils.SGL_TEST_FILES_CI_DATA_REVISION != "main"
    pinned_revision_path = (
        f"/{test_utils.SGL_TEST_FILES_CI_DATA_REPO}/"
        f"{test_utils.SGL_TEST_FILES_CI_DATA_REVISION}/"
    )
    assert (
        pinned_revision_path in test_utils.SGL_TEST_FILES_OFFICIAL_CONSISTENCY_GT_BASE
    )
    assert pinned_revision_path in test_utils.SGL_TEST_FILES_SGLANG_CONSISTENCY_GT_BASE

```

# 评论区精华

无实质性 review 讨论。PR 获得 mickqian 的批准，无评论。

- 暂无高价值评论线程

# 风险与影响

- 风险：低风险。变更仅涉及 CI 配置常量和单元测试断言，不触及任何运行时逻辑。风险主要在于新仓库 `ci-data-diffusion` 中是否存在对应 commit 的实际 GT 文件，但这是一个 CI 数据准备问题，非代码缺陷。
- 影响：影响范围仅限于 diffusion 模型的 CI 测试流程。对用户无影响；对系统的影响是 GT 数据来源的变更。团队需要确保 `ci-data-diffusion` 仓库中的 GT 数据与测试同步更新。
- 风险标记：CI 数据源变更

# 关联脉络

- 暂无明显关联 PR