Skip to content

Commit 8181ce8

Browse files
authored
Merge branch 'main' into gpt_oss_cutlass
2 parents 14a4e83 + 254f62d commit 8181ce8

File tree

752 files changed

+37838
-13916
lines changed

Some content is hidden

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

752 files changed

+37838
-13916
lines changed

.github/CODEOWNERS

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
.github @merrymercy @zhyncs
2-
/docker @zhyncs @HaiShaw @ByronHsu
1+
.github @merrymercy @Fridge003 @ispobock
2+
/docker @Fridge003 @ispobock @HaiShaw @ByronHsu
33
/docker/npu.Dockerfile @ping1jing2
4-
/python/pyproject.toml @merrymercy @zhyncs
5-
/python/sglang/* @merrymercy @Ying1123 @zhyncs @hnyls2002
4+
/python/pyproject.toml @merrymercy @Fridge003 @ispobock
5+
/python/sglang/* @merrymercy @Ying1123 @Fridge003 @ispobock @hnyls2002
6+
/python/sglang/multimodal_gen @mickqian
67
/python/sglang/srt/constrained @hnyls2002
78
/python/sglang/srt/disaggregation @ByronHsu @hnyls2002
89
/python/sglang/srt/disaggregation/mooncake @ShangmingCai
@@ -11,14 +12,14 @@
1112
/python/sglang/srt/entrypoints @ispobock @CatherineSue @slin1237 @merrymercy @JustinTong0323
1213
/python/sglang/srt/eplb @fzyzcjy
1314
/python/sglang/srt/function_call @CatherineSue @JustinTong0323
14-
/python/sglang/srt/layers @merrymercy @Ying1123 @zhyncs @ispobock @HaiShaw @ch-wan @BBuf @kushanam @Edwardf0t1
15+
/python/sglang/srt/layers @merrymercy @Ying1123 @Fridge003 @ispobock @HaiShaw @ch-wan @BBuf @kushanam @Edwardf0t1
1516
/python/sglang/srt/layers/quantization @ch-wan @BBuf @Edwardf0t1 @FlamingoPg
1617
/python/sglang/srt/layers/attention/ascend_backend.py @ping1jing2
1718
/python/sglang/srt/lora @Ying1123 @Fridge003 @lifuhuang
18-
/python/sglang/srt/managers @merrymercy @Ying1123 @hnyls2002 @xiezhq-hermann
19+
/python/sglang/srt/managers @merrymercy @Ying1123 @zhyncs @hnyls2002 @xiezhq-hermann
1920
/python/sglang/srt/mem_cache @merrymercy @Ying1123 @hnyls2002 @xiezhq-hermann
2021
/python/sglang/srt/mem_cache/allocator_ascend.py @ping1jing2
21-
/python/sglang/srt/model_executor @merrymercy @Ying1123 @hnyls2002 @zhyncs @ispobock
22+
/python/sglang/srt/model_executor @merrymercy @Ying1123 @hnyls2002 @Fridge003 @ispobock
2223
/python/sglang/srt/model_executor/npu_graph_runner.py @ping1jing2
2324
/python/sglang/srt/multimodal @mickqian @JustinTong0323
2425
/python/sglang/srt/speculative @Ying1123 @merrymercy @kssteven418

.github/labeler.yml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,10 @@
22
# Automatically adds labels to PRs based on the files changed
33

44
# Router specific (Rust code in sgl-router)
5-
router:
5+
model-gateway:
66
- changed-files:
77
- any-glob-to-any-file: 'sgl-router/**/*'
88

9-
# Router benchmarks
10-
router-benchmark:
11-
- changed-files:
12-
- any-glob-to-any-file:
13-
- 'sgl-router/benches/**/*'
14-
- 'sgl-router/scripts/run_benchmarks.py'
15-
- 'sgl-router/**/*bench*.rs'
16-
179
# Kernel specific
1810
sgl-kernel:
1911
- changed-files:
@@ -64,15 +56,6 @@ quant:
6456
- '**/awq/**/*'
6557
- '**/gptq/**/*'
6658

67-
# Performance related
68-
performance:
69-
- changed-files:
70-
- any-glob-to-any-file:
71-
- '**/benchmark/**/*'
72-
- '**/benches/**/*'
73-
- '**/perf/**/*'
74-
- '**/*benchmark*'
75-
7659
# Speculative decoding
7760
speculative-decoding:
7861
- changed-files:

.github/workflows/auto-format.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Auto Format Code
2+
3+
on:
4+
pull_request:
5+
types: [labeled]
6+
7+
permissions:
8+
contents: write
9+
pull-requests: write
10+
11+
jobs:
12+
auto-format:
13+
if: github.event.label.name == 'format'
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout PR branch
17+
uses: actions/checkout@v4
18+
with:
19+
ref: ${{ github.event.pull_request.head.ref }}
20+
repository: ${{ github.event.pull_request.head.repo.full_name }}
21+
token: ${{ secrets.GITHUB_TOKEN }}
22+
fetch-depth: 0
23+
24+
- name: Set up Python
25+
uses: actions/setup-python@v4
26+
with:
27+
python-version: "3.10"
28+
29+
- name: Install pre-commit hook
30+
run: |
31+
python -m pip install pre-commit
32+
pre-commit install
33+
34+
- name: Run pre-commit to format code
35+
run: SKIP=no-commit-to-branch pre-commit run --all-files
36+
continue-on-error: true
37+
38+
- name: Check for changes
39+
id: check_changes
40+
run: |
41+
if [[ -n $(git status -s) ]]; then
42+
echo "has_changes=true" >> $GITHUB_OUTPUT
43+
else
44+
echo "has_changes=false" >> $GITHUB_OUTPUT
45+
fi
46+
47+
- name: Commit and push changes
48+
if: steps.check_changes.outputs.has_changes == 'true'
49+
run: |
50+
git config --local user.email "github-actions[bot]@users.noreply.github.com"
51+
git config --local user.name "github-actions[bot]"
52+
git add .
53+
git commit -m "🤖 Auto-format code with isort, black, ruff, and clang-format"
54+
git push
55+
56+
- name: Remove format label
57+
if: always()
58+
uses: actions/github-script@v7
59+
with:
60+
github-token: ${{ secrets.GITHUB_TOKEN }}
61+
script: |
62+
try {
63+
await github.rest.issues.removeLabel({
64+
owner: context.repo.owner,
65+
repo: context.repo.repo,
66+
issue_number: context.issue.number,
67+
name: 'format'
68+
});
69+
} catch (error) {
70+
console.log('Label may have already been removed');
71+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Bot Bump Kernel Version to SGLang
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
10+
jobs:
11+
bump-kernel-version-to-sglang:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
with:
17+
token: ${{ secrets.GITHUB_TOKEN }}
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v5
21+
with:
22+
python-version: '3.10'
23+
24+
- name: Install Python dependencies
25+
run: |
26+
pip install tomli
27+
28+
- name: Check if sync is needed
29+
id: check_sync
30+
run: |
31+
python scripts/release/check_kernel_version_to_sglang.py
32+
33+
- name: Configure Git and branch
34+
if: steps.check_sync.outputs.needs_sync == 'true'
35+
run: |
36+
git config user.name "sglang-bot"
37+
git config user.email "[email protected]"
38+
RANDOM_SUFFIX=$(echo $RANDOM | md5sum | head -c 4)
39+
KERNEL_VERSION="${{ steps.check_sync.outputs.kernel_version }}"
40+
BRANCH_NAME="bot/bump-kernel-version-to-sglang-${KERNEL_VERSION}-${RANDOM_SUFFIX}"
41+
git checkout -b "$BRANCH_NAME"
42+
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
43+
echo "KERNEL_VERSION=$KERNEL_VERSION" >> $GITHUB_ENV
44+
45+
- name: Run kernel version bump script
46+
if: steps.check_sync.outputs.needs_sync == 'true'
47+
run: |
48+
python scripts/release/bump_kernel_version_to_sglang.py
49+
50+
- name: Commit and create PR
51+
if: steps.check_sync.outputs.needs_sync == 'true'
52+
env:
53+
GH_TOKEN: ${{ secrets.GH_PAT_FOR_PULL_REQUEST }}
54+
run: |
55+
bash scripts/release/commit_and_pr_kernel_to_sglang.sh "$KERNEL_VERSION" "$BRANCH_NAME"
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: CI Failure Monitor
2+
3+
on:
4+
schedule:
5+
- cron: '*/30 * * * *' # Every 30 minutes
6+
workflow_dispatch:
7+
inputs:
8+
limit:
9+
description: 'Number of workflow runs to analyze'
10+
required: false
11+
default: '300'
12+
type: string
13+
threshold:
14+
description: 'Alert threshold for consecutive failures'
15+
required: false
16+
default: '4'
17+
type: string
18+
19+
concurrency:
20+
group: ci-failure-monitor-${{ github.ref }}
21+
cancel-in-progress: true
22+
23+
permissions:
24+
contents: read
25+
actions: read
26+
27+
jobs:
28+
failure-analysis:
29+
if: github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request'
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Checkout code
33+
uses: actions/checkout@v4
34+
35+
- name: Set up Python
36+
uses: actions/setup-python@v5
37+
with:
38+
python-version: '3.14'
39+
40+
- name: Install dependencies
41+
run: |
42+
python -m pip install --upgrade pip
43+
pip install requests
44+
45+
- name: Run Failure Analysis
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GH_PAT_FOR_NIGHTLY_CI_DATA }}
48+
PYTHONUNBUFFERED: 1
49+
PYTHONIOENCODING: utf-8
50+
run: |
51+
cd scripts/ci_monitor
52+
python ci_failures_analysis.py \
53+
--token $GITHUB_TOKEN \
54+
--limit ${{ inputs.limit || '300' }} \
55+
--threshold ${{ inputs.threshold || '2' }} \
56+
--output ci_failure_analysis_$(date +%Y%m%d_%H%M%S).json
57+
58+
- name: Upload Analysis Results
59+
uses: actions/upload-artifact@v4
60+
with:
61+
name: ci-failure-analysis-${{ github.run_number }}
62+
path: |
63+
scripts/ci_monitor/ci_failure_analysis_*.json
64+
retention-days: 7

.github/workflows/label-pr.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/labeler.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,34 @@ jobs:
1212
label:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/labeler@v5
15+
# Step 1: Add category labels based on file changes
16+
- name: Auto-label by file changes
17+
uses: actions/labeler@v5
1618
with:
1719
repo-token: "${{ secrets.GITHUB_TOKEN }}"
1820
configuration-path: .github/labeler.yml
1921
sync-labels: false
22+
23+
# Step 2: Add run-ci label for authorized users (only on opened/reopened)
24+
- name: Check user permission
25+
if: github.event.action == 'opened' || github.event.action == 'reopened'
26+
id: checkAccess
27+
uses: actions-cool/check-user-permission@v2
28+
with:
29+
require: write
30+
username: ${{ github.triggering_actor }}
31+
env:
32+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33+
34+
- name: Add run-ci label
35+
if: (github.event.action == 'opened' || github.event.action == 'reopened') && steps.checkAccess.outputs.require-result == 'true'
36+
uses: actions/github-script@v7
37+
with:
38+
github-token: ${{ secrets.GH_PAT_FOR_PULL_REQUEST }}
39+
script: |
40+
github.rest.issues.addLabels({
41+
owner: context.repo.owner,
42+
repo: context.repo.repo,
43+
issue_number: context.issue.number,
44+
labels: ['run-ci']
45+
})

0 commit comments

Comments
 (0)