Skip to content

Commit fbd4d43

Browse files
authored
Merge branch 'main' into move-init
2 parents cf29242 + 0fe74af commit fbd4d43

File tree

173 files changed

+6531
-1577
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+6531
-1577
lines changed

.github/CI_PERMISSIONS.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@
207207
"can_tag_run_ci_label": true,
208208
"can_rerun_failed_ci": true,
209209
"cooldown_interval_minutes": 0,
210-
"reason": "top contributor"
210+
"reason": "custom override"
211211
},
212212
"ZhengdQin": {
213213
"can_tag_run_ci_label": true,
@@ -230,7 +230,7 @@
230230
"airMeng": {
231231
"can_tag_run_ci_label": true,
232232
"can_rerun_failed_ci": true,
233-
"cooldown_interval_minutes": 60,
233+
"cooldown_interval_minutes": 0,
234234
"reason": "custom override"
235235
},
236236
"alisonshao": {

.github/CODEOWNERS

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
/docker/npu.Dockerfile @ping1jing2 @iforgetmyname
44
/python/pyproject.toml @merrymercy @Fridge003 @ispobock
55
/python/sglang/multimodal_gen @mickqian
6+
/python/sglang/srt/batch_invariant_ops @Fridge003 @hebiao064
67
/python/sglang/srt/constrained @hnyls2002 @DarkSharpness
8+
/python/sglang/srt/compilation @hebiao064
79
/python/sglang/srt/disaggregation @ByronHsu @hnyls2002 @ShangmingCai
810
/python/sglang/srt/disaggregation/ascend @ping1jing2 @iforgetmyname
911
/python/sglang/srt/distributed @yizhang2077 @merrymercy @ch-wan
@@ -12,7 +14,7 @@
1214
/python/sglang/srt/eplb @fzyzcjy @ch-wan
1315
/python/sglang/srt/function_call @CatherineSue @JustinTong0323
1416
/python/sglang/srt/grpc @CatherineSue @slin1237
15-
/python/sglang/srt/layers @merrymercy @Ying1123 @Fridge003 @ispobock @HaiShaw @ch-wan @BBuf @kushanam @Edwardf0t1
17+
/python/sglang/srt/layers @merrymercy @Ying1123 @Fridge003 @ispobock @HaiShaw @ch-wan @BBuf @Edwardf0t1
1618
/python/sglang/srt/layers/quantization @ch-wan @BBuf @Edwardf0t1 @FlamingoPg @AniZpZ
1719
/python/sglang/srt/layers/attention/ascend_backend.py @ping1jing2 @iforgetmyname
1820
/python/sglang/srt/lora @Ying1123 @Fridge003 @lifuhuang
@@ -21,6 +23,7 @@
2123
/python/sglang/srt/mem_cache/allocator_ascend.py @ping1jing2 @iforgetmyname
2224
/python/sglang/srt/model_executor @merrymercy @Ying1123 @hnyls2002 @Fridge003 @ispobock
2325
/python/sglang/srt/model_executor/npu_graph_runner.py @ping1jing2 @iforgetmyname
26+
/python/sglang/srt/model_executor/piecewise_cuda_graph_runner.py @hebiao064
2427
/python/sglang/srt/multimodal @mickqian @JustinTong0323 @yhyang201
2528
/python/sglang/srt/speculative @Ying1123 @merrymercy @hnyls2002
2629
/sgl-kernel @zhyncs @ispobock @BBuf @yizhang2077 @merrymercy @FlamingoPg @HaiShaw

.github/workflows/nightly-test-nvidia.yml

Lines changed: 67 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,40 @@ on:
88
- main
99
paths:
1010
- "python/sglang/version.py"
11+
- "test/run_suite.py"
1112
workflow_dispatch:
13+
inputs:
14+
job_filter:
15+
description: 'Select which job to run (leave empty or "all" to run all jobs)'
16+
required: false
17+
type: choice
18+
default: 'all'
19+
options:
20+
- 'all'
21+
- 'nightly-test-general-1-gpu-runner'
22+
- 'nightly-test-general-4-gpu-h100'
23+
- 'nightly-test-general-8-gpu-h200'
24+
- 'nightly-test-general-8-gpu-h20'
25+
- 'nightly-test-text-accuracy-2-gpu-runner'
26+
- 'nightly-test-text-perf-2-gpu-runner'
27+
- 'nightly-test-vlm-accuracy-2-gpu-runner'
28+
- 'nightly-test-vlm-perf-2-gpu-runner'
29+
- 'nightly-test-multimodal-server-1-gpu'
30+
- 'nightly-test-multimodal-server-2-gpu'
31+
- 'nightly-test-perf-4-gpu-b200'
32+
- 'nightly-test-perf-8-gpu-b200'
1233
workflow_call:
1334
inputs:
1435
ref:
1536
description: 'Git ref (branch, tag, or SHA) to test. If not provided, uses the default branch.'
1637
required: false
1738
type: string
1839
default: ''
40+
job_filter:
41+
description: 'Select which job to run (leave empty or "all" to run all jobs)'
42+
required: false
43+
type: string
44+
default: 'all'
1945

2046
concurrency:
2147
group: nightly-test-nvidia-${{ github.ref }}
@@ -24,11 +50,13 @@ concurrency:
2450
jobs:
2551
# General tests - 1 GPU
2652
nightly-test-general-1-gpu-runner:
27-
if: github.repository == 'sgl-project/sglang'
53+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-general-1-gpu-runner')
2854
runs-on: 1-gpu-runner
2955
steps:
3056
- name: Checkout code
3157
uses: actions/checkout@v4
58+
with:
59+
ref: ${{ inputs.ref || github.ref }}
3260

3361
- name: Install dependencies
3462
run: |
@@ -38,15 +66,17 @@ jobs:
3866
timeout-minutes: 60
3967
run: |
4068
cd test
41-
python3 run_suite_nightly.py --suite nightly-1-gpu --continue-on-error
69+
python3 run_suite.py --hw cuda --suite nightly-1-gpu --nightly --continue-on-error
4270
4371
# General tests - 4 GPU H100
4472
nightly-test-general-4-gpu-h100:
45-
if: github.repository == 'sgl-project/sglang'
73+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-general-4-gpu-h100')
4674
runs-on: 4-gpu-h100
4775
steps:
4876
- name: Checkout code
4977
uses: actions/checkout@v4
78+
with:
79+
ref: ${{ inputs.ref || github.ref }}
5080

5181
- name: Install dependencies
5282
run: |
@@ -56,17 +86,19 @@ jobs:
5686
timeout-minutes: 30
5787
run: |
5888
cd test
59-
python3 run_suite_nightly.py --suite nightly-4-gpu --continue-on-error
89+
python3 run_suite.py --hw cuda --suite nightly-4-gpu --nightly --continue-on-error
6090
6191
# General tests - 8 GPU H200
6292
nightly-test-general-8-gpu-h200:
63-
if: github.repository == 'sgl-project/sglang'
93+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-general-8-gpu-h200')
6494
runs-on: 8-gpu-h200
6595
env:
6696
RUNNER_LABELS: 8-gpu-h200
6797
steps:
6898
- name: Checkout code
6999
uses: actions/checkout@v4
100+
with:
101+
ref: ${{ inputs.ref || github.ref }}
70102

71103
- name: Install dependencies
72104
run: |
@@ -78,7 +110,7 @@ jobs:
78110
GPU_CONFIG: "8-gpu-h200"
79111
run: |
80112
cd test
81-
python3 run_suite_nightly.py --suite nightly-8-gpu-h200 --continue-on-error
113+
python3 run_suite.py --hw cuda --suite nightly-8-gpu-h200 --nightly --continue-on-error
82114
83115
- name: Run Qwen3-235B nightly performance test
84116
timeout-minutes: 180
@@ -158,13 +190,15 @@ jobs:
158190
159191
# General tests - 8 GPU H20
160192
nightly-test-general-8-gpu-h20:
161-
if: github.repository == 'sgl-project/sglang'
193+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-general-8-gpu-h20')
162194
runs-on: 8-gpu-h20
163195
env:
164196
SGLANG_CI_RDMA_ALL_DEVICES: "mlx5_1,mlx5_2,mlx5_3,mlx5_4"
165197
steps:
166198
- name: Checkout code
167199
uses: actions/checkout@v4
200+
with:
201+
ref: ${{ inputs.ref || github.ref }}
168202

169203
- name: Install dependencies
170204
run: |
@@ -176,15 +210,17 @@ jobs:
176210
GPU_CONFIG: "8-gpu-h20"
177211
run: |
178212
cd test
179-
python3 run_suite_nightly.py --suite nightly-8-gpu-h20 --continue-on-error
213+
python3 run_suite.py --hw cuda --suite nightly-8-gpu-h20 --nightly --continue-on-error
180214
181215
# Text model accuracy tests
182216
nightly-test-text-accuracy-2-gpu-runner:
183-
if: github.repository == 'sgl-project/sglang'
217+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-text-accuracy-2-gpu-runner')
184218
runs-on: 2-gpu-runner
185219
steps:
186220
- name: Checkout code
187221
uses: actions/checkout@v4
222+
with:
223+
ref: ${{ inputs.ref || github.ref }}
188224

189225
- name: Install dependencies
190226
run: |
@@ -198,11 +234,13 @@ jobs:
198234
199235
# Text model performance tests
200236
nightly-test-text-perf-2-gpu-runner:
201-
if: github.repository == 'sgl-project/sglang'
237+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-text-perf-2-gpu-runner')
202238
runs-on: 2-gpu-runner
203239
steps:
204240
- name: Checkout code
205241
uses: actions/checkout@v4
242+
with:
243+
ref: ${{ inputs.ref || github.ref }}
206244

207245
- name: Install dependencies
208246
run: |
@@ -229,11 +267,13 @@ jobs:
229267
230268
# VLM accuracy tests
231269
nightly-test-vlm-accuracy-2-gpu-runner:
232-
if: github.repository == 'sgl-project/sglang'
270+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-vlm-accuracy-2-gpu-runner')
233271
runs-on: 2-gpu-runner
234272
steps:
235273
- name: Checkout code
236274
uses: actions/checkout@v4
275+
with:
276+
ref: ${{ inputs.ref || github.ref }}
237277

238278
- name: Install dependencies
239279
run: |
@@ -247,11 +287,13 @@ jobs:
247287
248288
# VLM performance tests
249289
nightly-test-vlm-perf-2-gpu-runner:
250-
if: github.repository == 'sgl-project/sglang'
290+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-vlm-perf-2-gpu-runner')
251291
runs-on: 2-gpu-runner
252292
steps:
253293
- name: Checkout code
254294
uses: actions/checkout@v4
295+
with:
296+
ref: ${{ inputs.ref || github.ref }}
255297

256298
- name: Install dependencies
257299
run: |
@@ -278,7 +320,7 @@ jobs:
278320
279321
# diffusion performance tests
280322
nightly-test-multimodal-server-1-gpu:
281-
if: github.repository == 'sgl-project/sglang'
323+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-multimodal-server-1-gpu')
282324
runs-on: 1-gpu-runner
283325
strategy:
284326
fail-fast: false
@@ -288,6 +330,8 @@ jobs:
288330
steps:
289331
- name: Checkout code
290332
uses: actions/checkout@v4
333+
with:
334+
ref: ${{ inputs.ref || github.ref }}
291335

292336
- name: Install dependencies
293337
run: |
@@ -309,7 +353,7 @@ jobs:
309353
310354
311355
nightly-test-multimodal-server-2-gpu:
312-
if: github.repository == 'sgl-project/sglang'
356+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-multimodal-server-2-gpu')
313357
runs-on: 2-gpu-runner
314358
strategy:
315359
fail-fast: false
@@ -319,6 +363,8 @@ jobs:
319363
steps:
320364
- name: Checkout code
321365
uses: actions/checkout@v4
366+
with:
367+
ref: ${{ inputs.ref || github.ref }}
322368

323369
- name: Install dependencies
324370
run: |
@@ -340,11 +386,13 @@ jobs:
340386
341387
# B200 Performance tests - 4 GPU
342388
nightly-test-perf-4-gpu-b200:
343-
if: github.repository == 'sgl-project/sglang'
389+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-perf-4-gpu-b200')
344390
runs-on: 4-gpu-b200
345391
steps:
346392
- name: Checkout code
347393
uses: actions/checkout@v4
394+
with:
395+
ref: ${{ inputs.ref || github.ref }}
348396

349397
- name: Install dependencies
350398
run: |
@@ -354,17 +402,19 @@ jobs:
354402
timeout-minutes: 60
355403
run: |
356404
cd test
357-
python3 run_suite_nightly.py --suite nightly-4-gpu-b200 --continue-on-error
405+
python3 run_suite.py --hw cuda --suite nightly-4-gpu-b200 --nightly --continue-on-error
358406
359407
# B200 Performance tests - 8 GPU
360408
nightly-test-perf-8-gpu-b200:
361-
if: github.repository == 'sgl-project/sglang'
409+
if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-perf-8-gpu-b200')
362410
runs-on: 8-gpu-b200
363411
env:
364412
RUNNER_LABELS: 8-gpu-b200
365413
steps:
366414
- name: Checkout code
367415
uses: actions/checkout@v4
416+
with:
417+
ref: ${{ inputs.ref || github.ref }}
368418

369419
- name: Install dependencies
370420
run: |

.github/workflows/pr-test-npu.yml

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,8 @@ concurrency:
1212
cancel-in-progress: true
1313

1414
jobs:
15-
16-
# ==================== PR Gate ==================== #
17-
pr-gate:
18-
uses: ./.github/workflows/pr-gate.yml
19-
secrets: inherit
20-
# ================================================= #
21-
2215
# ==================== Check Changes ==================== #
2316
check-changes:
24-
needs: [pr-gate]
2517
runs-on: ubuntu-latest
2618
outputs:
2719
main_package: ${{ steps.filter.outputs.main_package }}
@@ -40,10 +32,16 @@ jobs:
4032
- "scripts/ci/npu_ci_install_dependency.sh"
4133
- "test/srt/ascend/**"
4234
- ".github/workflows/pr-test-npu.yml"
43-
# ======================================================= #
35+
36+
# ==================== PR Gate ==================== #
37+
pr-gate:
38+
needs: check-changes
39+
if: needs.check-changes.outputs.main_package == 'true'
40+
uses: ./.github/workflows/pr-gate.yml
41+
secrets: inherit
4442

4543
per-commit-1-npu-a2:
46-
needs: [check-changes]
44+
needs: [check-changes, pr-gate]
4745
if: needs.check-changes.outputs.main_package == 'true'
4846
runs-on: linux-arm64-npu-1
4947
container:
@@ -82,7 +80,7 @@ jobs:
8280
python3 run_suite.py --suite per-commit-1-npu-a2
8381
8482
per-commit-2-npu-a2:
85-
needs: [check-changes]
83+
needs: [check-changes, pr-gate]
8684
if: needs.check-changes.outputs.main_package == 'true'
8785
runs-on: linux-arm64-npu-2
8886
strategy:
@@ -125,7 +123,7 @@ jobs:
125123
python3 run_suite.py --suite per-commit-2-npu-a2 --auto-partition-id ${{ matrix.part }} --auto-partition-size 3
126124
127125
per-commit-4-npu-a2:
128-
needs: [check-changes]
126+
needs: [check-changes, pr-gate]
129127
if: needs.check-changes.outputs.main_package == 'true'
130128
runs-on: linux-arm64-npu-4
131129
container:
@@ -164,7 +162,7 @@ jobs:
164162
python3 run_suite.py --suite per-commit-4-npu-a2 --timeout-per-file 3600
165163
166164
per-commit-16-npu-a3:
167-
needs: [check-changes]
165+
needs: [check-changes, pr-gate]
168166
if: needs.check-changes.outputs.main_package == 'true'
169167
runs-on: linux-aarch64-a3-16
170168
strategy:

.github/workflows/pr-test-pd-router.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
- 'sgl-router/**'
1010
pull_request:
1111
branches: [ main ]
12+
types: [opened, synchronize, reopened, labeled]
1213
paths:
1314
- 'python/sglang/srt/disaggregation/**'
1415
- 'scripts/ci/ci_start_disaggregation_servers.sh'
@@ -26,7 +27,11 @@ permissions:
2627

2728
jobs:
2829
test-disaggregation:
29-
if: github.event_name != 'pull_request' || (contains(github.event.pull_request.labels.*.name, 'run-ci') && contains(github.event.pull_request.labels.*.name, 'router-benchmark'))
30+
if: |
31+
github.event_name != 'pull_request' ||
32+
(github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'run-ci') && contains(github.event.pull_request.labels.*.name, 'router-benchmark')) ||
33+
(github.event.action == 'labeled' && github.event.label.name == 'run-ci' && contains(github.event.pull_request.labels.*.name, 'router-benchmark')) ||
34+
(github.event.action == 'labeled' && github.event.label.name == 'router-benchmark' && contains(github.event.pull_request.labels.*.name, 'run-ci'))
3035
runs-on: [8-gpu-h200-oracle]
3136
timeout-minutes: 45
3237

0 commit comments

Comments
 (0)