-
Notifications
You must be signed in to change notification settings - Fork 626
Description
This RFC proposes a new process for reviewing and merging pull requests in the torch-mlir project to ensure timely progress for all contributors and that feedback is properly addressed. Currently PR’s usually take weeks to merge which can slow down development. There is also a significant amount of open pull requests (inventory "muda") which could lead to risky merges, lost features, potential bugs and duplicate work The proposed guidelines aim to balance thorough review with development velocity.
Main motivations:
• Clarify expectations for both contributors and reviewers.
• Ensure all stakeholders have sufficient opportunity to provide feedback without blocking progress indefinitely.
• Encourage broader participation and make the project more attractive to new contributors.
• Ensure that all feedback is properly addressed.
• Reduce the pull request inventory muda (see seven wastes of the “Lean Manufacturing” method from Toyota Production System: https://en.wikipedia.org/wiki/Lean_manufacturing).
@stellaraccident, @sjarus @vivekkhandelwal1 @tanyokwok @qiuxiafei @ZihengJiang @Vremold
Proposal
Add a page under the "Contributing" section of https://github.com/llvm/torch-mlir/wiki with title: "Pull Request Review and Merge Process".
The wiki page linked there will have the contents below. Please let me know if it is ok to add this page and if any modifications should be done to it.
---------------------------------------------- Start of wiki page contents -------------------------------------------------
The torch-mlir project project contributors should follow the following steps to do pull requests reviews and merges.
-
Initial PR submission:
The contributor submits a pull request and adds reviewers with ownership levels 1 to 3 (see ownership section below) of the modified files. -
One-week reminder:
If no feedback has been received after one week, the contributor will post a reminder comment, tagging additional reviewers with ownership of levels 4 to 6. -
Two-week reminder:
If there is still no feedback after two weeks, then the contributor can add reviewers of ownership level 7. -
Three-week merge window:
After three weeks the contributor can merge the changes if at least one feedback is received and addressed from a reviewer of any ownership level. -
Post-merge feedback:
If feedback or concerns are raised after the merge, the contributor will create a follow-up pull request to address them. -
Reviewer availability:
Where possible, unavailable reviewers should comment on the pull request to notify contributors and recommend alternate reviewers. It is helpful that reviewers set their GitHub status to “busy” when they are not available (e.g., vacations, busy with a project). -
Reviewers’ responsibility:
Reviewers should prioritize on cleaning old pull requests, either by closing them or reviewing them for merging.
Ownership levels
- Component owner as indicated in this page: https://github.com/llvm/torch-mlir/blob/main/docs/code_owners.md.
- Contributor with highest number of modifications to the file modified in the pull request.
- Contributor who modified the lines of code included in the file modified in the pull request.
- Contributor who created the file modified in the pull request.
- Contributor who has done any modifications to the modified file in the pull request.
- Contributor who has modified a file in the same component (e.g., Linear.cpp is on the pull request, and contributor has modified a file in torch to linalg lowering).
- Contributor to any file in torch-mlir
The author of the pull request must create a separate pull request to address feedback received after the merge.
----------------------------------------------- Endof wiki page contents --------------------------------------------------
Thank you,
Ivan