Update docs (#13391)

Co-authored-by: sglang-bot <sglangbot@gmail.com>
This commit is contained in:
Lianmin Zheng
2025-11-16 19:36:33 -08:00
committed by GitHub
co-authored by sglang-bot
parent 2a5773440e
commit 7e626d12b7
20 changed files with 115 additions and 190 deletions
+40
View File
@@ -0,0 +1,40 @@
# SGLang Code Maintenance Model
This documentation describes the code maintenance model for the SGLang project.
Since SGLang is a large project involving multiple organizations and hardware platforms, we designed this model with the following goals:
- Ensure a responsive and smooth review process.
- Allow fast iteration, so maintainers can sometimes bypass flaky CI tests for important PRs.
## Role Descriptions
There are four important roles in this maintenance model. Some are custom roles, while the others are roles predefined by GitHub.
- *Area Maintainer*: The person who drives the PR merge process. They have strong area expertise and hold a high code quality bar.
- Permission: Merge PRs. Bypass branch protection rules if needed.
- Responsibility: Shepherd the merge of PRs assigned to your area. Revert or hotfix any issues related to your merge (especially if you bypass).
- *Codeowner*: The person who protects critical code. Without bypass, each PR needs at least one Codeowner approval for each modified file. Please note that this role is not an honor but a great responsibility because PRs cannot be merged without your approval (except when bypassed by an Area Maintainer).
- Permission: Approve PRs, allowing them to be merged without bypass.
- Responsibility: Review PRs in a timely manner.
- *Write*: The person with write permission to the sglang repo.
- Permission: Merge PRs if they have passed required tests and been approved by Codeowners. This role cannot bypass branch protection rules.
- Responsibility: Review and merge PRs in a timely manner.
- *CI Maintainer*: The person who manages CI runners for specific hardware platforms.
- Permission: Add CI runners.
- Responsibility: Keep the CI runners up and running.
Note: Difference between Area Maintainer and Codeowner
- Area Maintainer is an active role who actively try to help merge PRs and can bypass CI if urgent.
- Codeowner is a passive protection rule provided by GitHub; it prevents accidental changes to critical code.
- The list of Area Maintainer is attached below. The list of Codeowner is in [CODEOWNERS](./CODEOWNERS) file.
## Pull Request Merge Process
1. Author submits a pull request (PR) and fills out the PR checklist.
2. A bot assigns this PR to an Area Maintainer and @-mention them. At the same time, GitHub will auto-request reviews from Codeowners.
3. The Area Maintainer coordinates the review (asking people to review) and approves the PR; the Codeowner approves the PR.
4. We can now merge the code:
- Ideal case: For each modified file, one Codeowner approves the PR. It also passes the required CI. Then anyone with write permission can merge the code.
- In cases where it is difficult to meet all requirements due to flaky CI or slow responses, an Area Maintainer can bypass branch protection to merge the PR.
## The List of Area Maintainers and Reviewers
TODO
## The List of CI Maintainers
TODO