Prhub

#32297 [ci][diffusion] Read consistency GT from ci-data-diffusion @ per-platform commit

原始 PR 作者 AgainstEntropy 合并时间 2026-07-25 09:55 文件变更 2 提交数 2 评论 2 代码增减 +20 / -15

执行摘要

Diffusion CI 一致性 GT 迁移至新仓库

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

该 PR 属于基础设施清理,技术含量低,但作为 CI 链路的一部分值得关注。建议阅读以了解 diffusion CI 的数据管理方式。

讨论亮点

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

实现拆解

  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.pytest_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 测试工具 modified 5.45
python/sglang/multimodal_gen/test/unit/test_consistency_metrics.py 一致性测试 modified 4.42

关键源码片段

python/sglang/multimodal_gen/test/test_utils.py test-coverage

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

# 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 test-coverage

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

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

评论区精华

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

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

风险与影响

低风险。变更仅涉及 CI 配置常量和单元测试断言,不触及任何运行时逻辑。风险主要在于新仓库 ci-data-diffusion 中是否存在对应 commit 的实际 GT 文件,但这是一个 CI 数据准备问题,非代码缺陷。

影响范围仅限于 diffusion 模型的 CI 测试流程。对用户无影响;对系统的影响是 GT 数据来源的变更。团队需要确保 ci-data-diffusion 仓库中的 GT 数据与测试同步更新。

CI 数据源变更

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论