From 2e1dbdb25808ec17bdec46c0167a6d9098b8cc4b Mon Sep 17 00:00:00 2001 From: Lianmin Zheng Date: Tue, 18 Nov 2025 06:24:58 -0800 Subject: [PATCH] Update docs (#13519) Co-authored-by: sglang-bot --- .github/MAINTAINER.md | 11 +++++++++-- .github/workflows/execute-notebook.yml | 1 - .github/workflows/lint.yml | 1 - .github/workflows/pr-benchmark-rust.yml | 1 - .github/workflows/pr-test-amd.yml | 1 - .github/workflows/pr-test-npu.yml | 1 - .github/workflows/pr-test-pd-router.yml | 1 - .github/workflows/pr-test-rust.yml | 1 - .github/workflows/pr-test-xeon.yml | 1 - .github/workflows/pr-test-xpu.yml | 1 - .github/workflows/pr-test.yml | 1 - .github/workflows/quantization-test.yml | 1 - docs/developer_guide/contribution_guide.md | 6 ++---- 13 files changed, 11 insertions(+), 17 deletions(-) diff --git a/.github/MAINTAINER.md b/.github/MAINTAINER.md index 30237d737..7476d5ab7 100644 --- a/.github/MAINTAINER.md +++ b/.github/MAINTAINER.md @@ -25,17 +25,24 @@ __Note__: Difference between Merge Oncall and Codeowner - The Codeowner is a passive protection role provided by GitHub; it prevents accidental changes to critical code. - The list of Merge Oncalls is attached below. The list of Codeowners is in the [CODEOWNERS](./CODEOWNERS) file. +__Note__: The permissions to trigger CI tests are defined separately according to these [rules](https://docs.sglang.ai/developer_guide/contribution_guide.html#how-to-trigger-ci-tests). + + ## Pull Request Merge Process 1. The author submits a pull request (PR) and fills out the PR checklist. 2. A bot assigns this PR to a Merge Oncall and @-mentions them. At the same time, GitHub will automatically request reviews from Codeowners. -3. The Merge Oncall coordinates the review (e.g., asking people to review) and approves the PR; the relevant Codeowners also approve the PR. If the assigned Merge Oncall is not responsive, the author can ping other related Merge Oncalls and Reviewers in the list below. -4. The code can now be merged: +3. Someone tags the PR with a `run-ci` label ([help](https://docs.sglang.ai/developer_guide/contribution_guide.html#how-to-trigger-ci-tests)). Then the author can trigger CI by pushing new commits. +4. The Merge Oncall coordinates the review (e.g., asking people to review) and approves the PR; the Codeowners also approve the PR. If the assigned Merge Oncall is not responsive, the author can ping other related Merge Oncalls and Reviewers in the list below. +5. The code can now be merged: - **Ideal case:** For each modified file, one Codeowner has approved the PR. The PR has also passed the required CI tests. Then, anyone with write permission can merge the PR. - **Exception:** In cases where it is difficult to meet all requirements (due to flaky CI or slow responses), a Merge Oncall can bypass branch protection to merge the PR. If you meet any issues during the merge, you can discuss in [slack channels](https://slack.sglang.ai/): #dev, #pull-request, and #ci-cd-build-release. ## The List of Merge Oncalls and Reviewers +The format is @github-username (Slack username). + +TODO: fill in the list. Now we have many Merge Oncalls mainly because the CI is flaky and the CODEOWNERS is too coarse-grained. In the future, we hope the CI can be improved and we only need bypass rarely. After that, most Merge Oncalls can be converted back to Write and CODEOWNERS. diff --git a/.github/workflows/execute-notebook.yml b/.github/workflows/execute-notebook.yml index 0452d04d2..52942c77c 100644 --- a/.github/workflows/execute-notebook.yml +++ b/.github/workflows/execute-notebook.yml @@ -6,7 +6,6 @@ on: paths: - "python/sglang/**" - "docs/**" - types: [synchronize] workflow_dispatch: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 1f5a7f58d..565984700 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -5,7 +5,6 @@ on: branches: [main] pull_request: branches: [main] - types: [synchronize, labeled] jobs: lint: diff --git a/.github/workflows/pr-benchmark-rust.yml b/.github/workflows/pr-benchmark-rust.yml index e267141f9..0b98b7747 100644 --- a/.github/workflows/pr-benchmark-rust.yml +++ b/.github/workflows/pr-benchmark-rust.yml @@ -9,7 +9,6 @@ on: branches: [ main ] paths: - "sgl-router/**" - types: [synchronize] workflow_dispatch: concurrency: diff --git a/.github/workflows/pr-test-amd.yml b/.github/workflows/pr-test-amd.yml index f508c5b7f..0d430617a 100644 --- a/.github/workflows/pr-test-amd.yml +++ b/.github/workflows/pr-test-amd.yml @@ -19,7 +19,6 @@ on: - "test/**" - "sgl-kernel/**" - ".github/workflows/pr-test-amd.yml" - types: [synchronize] workflow_dispatch: concurrency: diff --git a/.github/workflows/pr-test-npu.yml b/.github/workflows/pr-test-npu.yml index 246c786c1..4ebaec5af 100644 --- a/.github/workflows/pr-test-npu.yml +++ b/.github/workflows/pr-test-npu.yml @@ -17,7 +17,6 @@ on: - "scripts/ci/**" - "test/**" - ".github/workflows/pr-test-npu.yml" - types: [synchronize] workflow_dispatch: concurrency: diff --git a/.github/workflows/pr-test-pd-router.yml b/.github/workflows/pr-test-pd-router.yml index eaa2068fd..f622f3bc2 100644 --- a/.github/workflows/pr-test-pd-router.yml +++ b/.github/workflows/pr-test-pd-router.yml @@ -13,7 +13,6 @@ on: - 'python/sglang/srt/disaggregation/**' - 'scripts/ci/ci_start_disaggregation_servers.sh' - 'sgl-router/**' - types: [synchronize] workflow_dispatch: concurrency: diff --git a/.github/workflows/pr-test-rust.yml b/.github/workflows/pr-test-rust.yml index c8a7a0086..375f9b2f2 100644 --- a/.github/workflows/pr-test-rust.yml +++ b/.github/workflows/pr-test-rust.yml @@ -9,7 +9,6 @@ on: branches: [ main ] paths: - "sgl-router/**" - types: [synchronize] workflow_dispatch: concurrency: diff --git a/.github/workflows/pr-test-xeon.yml b/.github/workflows/pr-test-xeon.yml index 5d53238a5..7503732d3 100644 --- a/.github/workflows/pr-test-xeon.yml +++ b/.github/workflows/pr-test-xeon.yml @@ -21,7 +21,6 @@ on: - "sgl-kernel/**" - ".github/workflows/pr-test-xeon.yml" - "docker/xeon.Dockerfile" - types: [synchronize] workflow_dispatch: concurrency: diff --git a/.github/workflows/pr-test-xpu.yml b/.github/workflows/pr-test-xpu.yml index 61592937b..0c86967b9 100644 --- a/.github/workflows/pr-test-xpu.yml +++ b/.github/workflows/pr-test-xpu.yml @@ -19,7 +19,6 @@ on: - "test/**" - "sgl-kernel/**" - ".github/workflows/pr-test-xpu.yml" - types: [synchronize] workflow_dispatch: concurrency: diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index ba4625895..82580e058 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -5,7 +5,6 @@ on: branches: [main] pull_request: branches: [main] - types: [synchronize] workflow_dispatch: inputs: version: diff --git a/.github/workflows/quantization-test.yml b/.github/workflows/quantization-test.yml index f34534c2d..22c04e86b 100644 --- a/.github/workflows/quantization-test.yml +++ b/.github/workflows/quantization-test.yml @@ -17,7 +17,6 @@ on: - "scripts/ci/**" - "test/**" - ".github/workflows/quantization-test.yml" - types: [synchronize] workflow_dispatch: concurrency: diff --git a/docs/developer_guide/contribution_guide.md b/docs/developer_guide/contribution_guide.md index aaf76bf31..2dbf96c10 100644 --- a/docs/developer_guide/contribution_guide.md +++ b/docs/developer_guide/contribution_guide.md @@ -71,11 +71,9 @@ Then your PR can be merged. ## How to Trigger CI Tests We have a lot of open PRs but limited CI machines, so only top and trusted contributors have permission to trigger CI tests. +Users with permission are listed in the [CI_PERMISSIONS.json](https://github.com/sgl-project/sglang/blob/main/.github/CI_PERMISSIONS.json) -Users with permission are listed here: -https://github.com/sgl-project/sglang/blob/main/.github/CI_PERMISSIONS.json - -For CI to run on a pull request, it must have the **run-ci** label. Authorized users can add the label or rerun failed tests by commenting on the PR with one of these commands: +For CI to run on a pull request, it must have the "run-ci" label. Authorized users can add the label or rerun failed tests by commenting on the PR with one of these commands: - `/tag-run-ci-label`: Tag the "run-ci" label. Every future commits will trigger CI. - `/rerun-failed-ci`: Rerun the failed/flaky tests of the last commit.