[Doc] Update CI oncall list (#13396)
Co-authored-by: sglang-bot <sglangbot@gmail.com> Co-authored-by: Ying Sheng <sqy1415@gmail.com>
This commit is contained in:
59
.github/MAINTAINER.md
vendored
59
.github/MAINTAINER.md
vendored
@@ -1,40 +1,53 @@
|
||||
# SGLang Code Maintenance Model
|
||||
This documentation describes the code maintenance model for the SGLang project.
|
||||
This document 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.
|
||||
- Allow for 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.
|
||||
There are four roles in this maintenance model. Some are custom roles, while others are 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.
|
||||
- **Merge Oncall**: The person who drives the PR merge process. They have strong area-specific expertise and uphold a high bar for code quality.
|
||||
- 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: Shepherd the merge of PRs assigned to their area. Revert or hotfix any issues related to their merge (especially if they bypass).
|
||||
- **Codeowner**: The person who protects critical code. Without a bypass, each PR needs at least one Codeowner approval for each modified file protected by [CODEOWNERS](./CODEOWNERS). Please note that this role is not an honor but a significant responsibility because PRs cannot be merged without your approval (except when bypassed by a Merge Oncall).
|
||||
- Permission: Approve PRs, allowing them to be merged without a bypass.
|
||||
- Responsibility: Review PRs in a timely manner.
|
||||
- *Write*: The person with write permission to the sglang repo.
|
||||
- **Write**: A 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.
|
||||
- **CI Oncall**: A 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.
|
||||
__Note__: Difference between Merge Oncall and Codeowner
|
||||
- The Merge Oncall is an active role held by someone who actively tries to help merge PRs and can bypass CI if needed.
|
||||
- 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.
|
||||
|
||||
## 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.
|
||||
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.
|
||||
4. 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.
|
||||
|
||||
## The List of Area Maintainers and Reviewers
|
||||
TODO
|
||||
## The List of Merge Oncalls and Reviewers
|
||||
|
||||
## The List of CI Maintainers
|
||||
TODO
|
||||
This list is based on the current situation. If you or someone you know would like to take on more responsibility and are qualified, please ping @Lianmin Zheng and @Ying Sheng in the Slack channel. They will start a nomination and internal review process.
|
||||
|
||||
## The List of CI Oncalls
|
||||
The format is @github-username (Slack username).
|
||||
|
||||
### NVIDIA GPUs
|
||||
@merrymercy (Lianmin Zheng), @Kangyan-Zhou (Kangyan Zhou), @ch-wan (Cheng Wan), @HanHan009527 (hanhan), @ishandhanani (Ishan Dhanani), @key4ng (Keyang Ru), @slin1237 (Simo Lin), @ShangmingCai (Shangming Cai)
|
||||
|
||||
### AMD GPUs
|
||||
@saienduri (Sai Enduri), @HaiShaw (Henry HAI)
|
||||
|
||||
### Intel CPU and XPU
|
||||
@mingfeima (Mingfei Ma), @DiweiSun (Diwei Sun)
|
||||
|
||||
### Ascend NPUs
|
||||
@iforgetmyname (Even Zhou)
|
||||
|
||||
1
.github/workflows/lint.yml
vendored
1
.github/workflows/lint.yml
vendored
@@ -5,6 +5,7 @@ on:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
types: [synchronize, labeled]
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
Reference in New Issue
Block a user