Repository navigation
Conversation
main_package matched every file under python/sglang/kernels/ and test/, so a diffusion PR that only touched kernels/ops/diffusion, jit/csrc/diffusion or a diffusion test directory ran the whole srt pipeline (base-a/b/c) and could fail on unrelated srt tests or wait on runners srt-only stages need. Exclude those diffusion-only paths from main_package. They stay covered by multimodal_gen and jit_kernel, which already listed most of them; add the two that multimodal_gen was missing (jit/csrc/diffusion, test/registered/e2e/ diffusion). kernels/ops/diffusion/common stays in main_package because srt reaches it through kda_kernels.
niehen6174
requested review from
Fridge003,
HaiShaw,
Kangyan-Zhou,
bingxche,
ispobock and
merrymercy
as code owners
October 6, 2026 03:30
Collaborator
Author
|
/tag-and-rerun-ci |
This was referenced Oct 7, 2026
BBuf
approved these changes
Oct 7, 2026
mickqian
approved these changes
Oct 7, 2026
mickqian
pushed a commit
that referenced
this pull request
Oct 7, 2026
Picks up #42958, which warms CI cases up at the request's quality level. Without it the LTX-2 two-stage cases on the 2-GPU partition run their timed request on a path warmup never touched and exceed their refinement limits; main itself fails the same way. The two streamed-encode tests move to python/sglang/multimodal_gen/test/unit/ with the rest of the diffusion unit tests (#42706), dropping their register_cuda_ci call as the moved files did: that directory is collected whole, so new files need no registration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
main_packagein_pr-test-check-changes.ymlmatches every file underpython/sglang/kernels/andtest/, so a diffusion PR that only touches diffusion kernels or diffusion tests runs the whole srt pipeline (base-a, base-b, base-c). Those PRs then fail or stall on srt tests they cannot affect. Examples from the last two days:kernels/ops/diffusion/,test/registered/kernels/ops/diffusion/test_multi_lora_backend(base-b),base-c-test-8-gpu-b300queuedkernels/ops/diffusion/,test/registered/kernels/ops/diffusion/test_multi_lora_backend(base-b)kernels/ops/diffusion/attention/test_multi_lora_backend(base-b),base-c-test-8-gpu-b300queuedtest/registered/unit/diffusion/test_disaggregation_dp_attentionon H20 (base-c),base-c-test-8-gpu-b300queuedtest/registered/unit/diffusion/test_multi_lora_backend(base-b)Most of these paths are already listed under
multimodal_gen, and all of them are underjit_kernelwhere relevant, so the diffusion CI and the kernel unit tests still run for them.Modifications
main_packageno longer matches diffusion-only paths.dorny/paths-filtercounts a file if it matches any pattern, so a subdirectory cannot be excluded with a!pattern; instead the two catch-all globs (kernels/!(aot)/**andtest/**) are rewritten level by level to skip:python/sglang/kernels/ops/diffusion/**python/sglang/kernels/jit/csrc/diffusion/**test/registered/kernels/ops/diffusion/**test/registered/kernels/benchmark/diffusion/**test/registered/unit/diffusion/**test/registered/e2e/diffusion/**python/sglang/kernels/ops/diffusion/common/**stays inmain_package: srt reaches it throughkda_kernels/layernorm_modulate_triton.py(used bysrt/layers/attention/linear/kernels/kda_flashinfer.py).kda_kernels/(includingkda_kernels/csrc/diffusion/) is shared with srt and is unchanged.multimodal_gengains the two diffusion paths it was missing:python/sglang/kernels/jit/csrc/diffusion/**andtest/registered/e2e/diffusion/**, so every path dropped frommain_packagestill starts the diffusion CI.Only
pr-test.ymlandpr-test-extra.ymlare affected on PRs. The nightly and weekly workflows that reuse this job forcerun_all_tests.pr-test-amd.ymlhas its own filter and is out of scope here.Trade-offs
kernels/ops/diffusion/__init__.pyis excluded, although srt imports it.sglang/kernels/ops/__init__.pyeagerly imports every operator group, so any of the ~320 srt files that importsglang.kernels.ops.*executes the diffusion facade. Importingsglang.kernels.opsloads only that one module (sglang.kernels.ops.diffusion); its implementations are resolved lazily (PEP 562). An import-time break in this file is still caught before merge: the 39 test files undertest/registered/kernels/ops/diffusion/registered inbase-b-kernel-unitall importsglang.kernels.ops, and that stage runs throughjit_kernelfor any change underpython/sglang/kernels/; the diffusion CI imports it as well. Keeping the file inmain_packagewould have kept most diffusion kernel PRs on the srt pipeline: 20 of the 28 commits that touchedkernels/ops/diffusion/since Sep 5 also touched this__init__.py.test/registered/kernels/ops/diffusion/test_sites.pyis registered inbase-a-test-cpu, which is gated bymain_package. A diffusion-only PR no longer runs it at PR time. It still runs on scheduled and full runs.Accuracy Tests
N/A, CI configuration only.
Verification
The
main_package,multimodal_genandjit_kernelfilters, before and after this change, were evaluated with picomatch using the optionsdorny/paths-filter@v3passes ({dot: true}), over all tracked files (10,131):main_packagediffusion/directorykernels/ops/diffusion/common/that leave itmain_packagetest/README.md,test/registered/README.md,test/registered/unit/README.mdmain_packageand match neithermultimodal_gennorjit_kernelReplaying the changed-file lists of recent PRs:
main_packagemultimodal_genjit_kernelpython/pyproject.toml)kda_kernels/)Checked that srt does not use the excluded paths: no Python import of
kernels.ops.diffusionoutside diffusion code exceptops/diffusion/common(kept);kda_kernelsresolves itsdiffusion/*.cuhsources fromkda_kernels/csrc/, notjit/csrc/diffusion/; no C++/CUDA#includeof diffusion headers outside the diffusion directories.actionlintandpre-commitpass on the changed workflow.Checklist
CI States
Latest PR Test (Base): ✅ Run #37476871067
Latest PR Test (Extra): ❌ Run #37476870754
Latest PR Test (AMD ROCm 10): ➖ No AMD PR run found for this commit.