Split pr-test.yml: extract sgl-kernel, jit-kernel, and multimodal-gen tests into separate workflow files (#21219)

This commit is contained in:
Lianmin Zheng
2026-03-23 13:17:05 -07:00
committed by GitHub
parent ed316a26ef
commit 4779755eb9
5 changed files with 577 additions and 471 deletions
+133
View File
@@ -0,0 +1,133 @@
name: PR Test - JIT Kernel
on:
workflow_call:
inputs:
jit_kernel:
required: true
type: string
pr_head_sha:
required: false
type: string
default: ''
git_ref:
required: false
type: string
default: ''
target_stage:
required: false
type: string
default: ''
test_parallel_dispatch:
required: false
type: string
default: 'false'
# Workflow-level env is NOT inherited from the caller in reusable workflows (verified by CI test).
# The github context (including github.event_name) IS inherited from the caller.
env:
SGLANG_IS_IN_CI: true
SGLANG_CUDA_COREDUMP: "1"
SGLANG_JIT_DEEPGEMM_FAST_WARMUP: true
SGLANG_PR_TEST_BYPASS_MAINTENANCE_ON_MAIN: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }}
jobs:
jit-kernel-unit-test:
if: |
github.event_name != 'schedule' &&
inputs.test_parallel_dispatch != 'true' &&
!inputs.target_stage
runs-on: 1-gpu-h100
timeout-minutes: 240
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.pr_head_sha || inputs.git_ref || github.sha }}
- uses: ./.github/actions/check-maintenance
with:
github-token: ${{ github.token }}
- name: Install dependencies
timeout-minutes: 20
run: |
bash scripts/ci/cuda/ci_install_dependency.sh diffusion
- name: Run test
timeout-minutes: 30
run: |
cd python/sglang/jit_kernel
pytest tests/
jit-kernel-unit-test-nightly:
if: |
github.event_name == 'schedule' &&
inputs.jit_kernel == 'true'
runs-on: 1-gpu-h100
timeout-minutes: 240
env:
SGLANG_JIT_KERNEL_RUN_FULL_TESTS: "1"
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.pr_head_sha || inputs.git_ref || github.sha }}
- uses: ./.github/actions/check-maintenance
with:
github-token: ${{ github.token }}
- name: Install dependencies
timeout-minutes: 20
run: |
bash scripts/ci/cuda/ci_install_dependency.sh
- name: Run full nightly test
timeout-minutes: 60
run: |
cd python/sglang/jit_kernel
pytest tests/
jit-kernel-benchmark-test:
if: |
github.event_name != 'schedule' &&
inputs.test_parallel_dispatch != 'true' &&
!inputs.target_stage
runs-on: 1-gpu-h100
timeout-minutes: 240
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.pr_head_sha || inputs.git_ref || github.sha }}
- uses: ./.github/actions/check-maintenance
with:
github-token: ${{ github.token }}
- name: Install dependencies
timeout-minutes: 20
run: |
bash scripts/ci/cuda/ci_install_dependency.sh diffusion
- name: Run benchmark tests
timeout-minutes: 45
run: |
cd python/sglang/jit_kernel/benchmark
echo "Running jit-kernel benchmark tests in CI mode..."
failures=()
for bench_file in bench_*.py; do
echo "Testing $bench_file..."
if ! timeout 120 python3 "$bench_file"; then
failures+=("$bench_file")
fi
echo "Completed $bench_file"
echo "---"
done
if [ ${#failures[@]} -ne 0 ]; then
echo "The following benchmark tests failed: ${failures[*]}"
exit 1
fi
echo "All jit-kernel benchmark tests completed successfully!"