Skip to content

Commit 63339cd

Browse files
committed
fix: Major module mapping overhaul for auto-assign reviewers
- Replace broad 'CI/CD' with 5 granular modules - Separate test concerns from pipeline logic - Move module-owners.json to .github/ for consistency Signed-off-by: Venky Ganesh <[email protected]>
1 parent 9be3f69 commit 63339cd

File tree

4 files changed

+49
-8
lines changed

4 files changed

+49
-8
lines changed

.github/module-owners.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"Generic Runtime": ["funatiq", "pcastonguay", "Shixiaowei02", "MartinMarciniszyn", "schetlur-nv", "dcampora"],
3+
"Triton Backend": ["Tabrizian", "pcastonguay", "schetlur-nv"],
4+
"LLM API/Workflow": ["Superjomn", "syuoni", "nv-guomingz", "litaotju", "QiJune"],
5+
"KV-Cache Management":["thorjohnsen", "schetlur-nv"],
6+
"Low Precision":["Tracin", "nv-guomingz", "Naveassaf"],
7+
"Speculative Decoding":["yweng0828", "nekorobov", "lfr-0531"],
8+
"Customized Kernels":["lowsfer", "PerkzZheng", "jdemouth-nvidia"],
9+
"Performance": ["kaiyux", "jiahanc", "hypdeb"],
10+
"Lora/P-tuning":["byshiue", "shaharmor98"],
11+
"Disaggregated Serving":["Shixiaowei02", "joyang-nv", "chuangz0", "schetlur-nv"],
12+
"Documentation":["nv-guomingz"],
13+
"Sampling": ["dcampora", "lfr-0531", "Naveassaf", "syuoni", "yweng0828"],
14+
"Memory": ["litaotju", "peaceh-nv"],
15+
"Installation": ["hchings", "Superjomn", "nv-guomingz", "QiJune"],
16+
"GitHub Configuration": ["tburt-nv", "niukuo"],
17+
"Jenkins Pipelines": ["chzblych", "niukuo"],
18+
"Test Configuration": ["niukuo", "syuoni", "LarryXFly"],
19+
"Test Waive List": ["chzblych", "niukuo"],
20+
"Integration Tests": ["LarryXFly", "niukuo"],
21+
"Torch Framework": ["QiJune", "hlu1"],
22+
"Torch Attention Backend": ["yuxianq", "hlu1"],
23+
"Torch AutoDeploy": ["lucaslie", "suyoggupta"],
24+
"Torch Compilation": ["litaotju", "yizhang-nv", "liji-nv"],
25+
"Torch Custom Ops": ["yizhang-nv"],
26+
"Torch Distributed": ["yilin-void", "yuxianq", "hyukn", "yizhang-nv", "hlu1"],
27+
"Torch PyExecutor": ["dongxuy04", "funatiq", "dcampora", "HuiGao-NV"],
28+
"Torch Speculative": ["lfr-0531", "mikeiovine"],
29+
"Autotuner": ["hyukn", "litaotju"],
30+
"Pipeline Interface": ["amukkara", "chang-l"],
31+
"Torch Models": ["QiJune", "hlu1"],
32+
"Torch Models DeepSeekV3": ["hlu1", "zongfeijing"],
33+
"Torch Models Llama": ["chang-l", "mikeiovine"],
34+
"Torch Modules": ["QiJune", "hlu1"],
35+
"Torch Modules Attention": ["yuxianq", "hlu1"],
36+
"Torch Modules Fused MOE": ["hlu1", "dongxuy04", "zongfeijing", "HuiGao-NV"],
37+
"Torch Tests": ["QiJune", "hlu1"],
38+
"PyTorch Examples": ["QiJune", "hlu1"]
39+
}

.github/module-paths.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@
77
"examples/disaggregated/": "Disaggregated Serving",
88
"docs/": "Documentation",
99
"docker/": "Installation",
10-
".github/": "CI/CD",
11-
"jenkins/": "CI/CD",
10+
".github/": "GitHub Configuration",
11+
"jenkins/": "Jenkins Pipelines",
12+
"tests/integration/test_lists/": "Test Configuration",
13+
"tests/integration/test_lists/waives.txt": "Test Waive List",
14+
"tests/integration/defs/": "Integration Tests",
1215
"tensorrt_llm/_torch/": "Torch Framework",
1316
"tensorrt_llm/_torch/attention_backend/": "Torch Attention Backend",
1417
"tensorrt_llm/_torch/auto_deploy/": "Torch AutoDeploy",

.github/scripts/assign_reviewers.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,7 @@ def main() -> None:
137137
print(f"Changed files: {changed_files}")
138138

139139
module_paths = load_json(Path(".github") / "module-paths.json")
140-
module_owners = load_json(
141-
Path(".github/workflows") / "module-owners.json")
140+
module_owners = load_json(Path(".github") / "module-owners.json")
142141

143142
modules = map_modules(changed_files, module_paths)
144143
reviewers = gather_reviewers(

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,16 @@ Developer workflow for code contributions is as follows:
9393
3. Once the code changes are staged on the fork and ready for review, a [Pull Request](https://help.github.com/en/articles/about-pull-requests) (PR) can be [requested](https://help.github.com/en/articles/creating-a-pull-request) to merge the changes from a branch of the fork into a selected branch of upstream. PRs should typically target the `main` branch.
9494
* Creation of a PR creation kicks off the code review process.
9595
* At least one TensorRT-LLM engineer will be assigned for the review. When the PR is under review, the label `Pending Review` will be added to the PR.
96+
* If changes are requested, then the reviewer will add the label `Changes Requested` to the PR.
97+
* Once changes are approved, CI will be launched to validate the change. When CI passes, the reviewer will merge the PR.
98+
* If CI reports any failures, it's up to the requester to fix any CI failures before requesting another review.
9699

97100
### Automatic Reviewer Assignment
98101

99102
Reviewers are automatically assigned to PRs through a GitHub Action that:
100103

101104
* **Triggers**: Runs automatically when PRs are opened, synchronized, or reopened
102-
* **Module-based assignment**: Maps changed files to modules using `.github/module-paths.json` and assigns reviewers based on module ownership defined in `.github/workflows/module-owners.json`
105+
* **Module-based assignment**: Maps changed files to modules using `.github/module-paths.json` and assigns reviewers based on module ownership defined in `.github/module-owners.json`
103106
* **Respects existing assignments**: Won't assign additional reviewers if any reviewers are already assigned (unless forced)
104107
* **Excludes PR author**: Automatically excludes the PR author from reviewer assignments
105108
* **Limits reviewer count**: Randomly samples up to 3 reviewers if more are eligible (configurable via `REVIEWER_LIMIT`)
@@ -114,9 +117,6 @@ The auto-assignment system analyzes all files changed in your PR, maps them to t
114117
```
115118

116119
**Manual assignment**: You can also manually trigger reviewer assignment via GitHub's workflow dispatch with options for dry-run mode and force-assignment.
117-
* If changes are requested, then the reviewer will add the label `Changes Requested` to the PR.
118-
* Once changes are approved, CI will be launched to validate the change. When CI passes, the reviewer will merge the PR.
119-
* If CI reports any failures, it's up to the requester to fix any CI failures before requesting another review.
120120

121121
### PR Submission Policies
122122

0 commit comments

Comments
 (0)