Improve review process by using CODEOWNERS
Topic
Indicate which topic your proposal falls under:
Overview
Finding reviewers for a pull request can be challenging because there is no clear mapping of specific code sections to core contributors who are familiar with them. New contributors, in particular, may struggle to identify suitable reviewers for their pull requests, and it would be beneficial to automate this process.
Solution
The solution relates to the proposal Improving OSPR Management | Making CC info for individual repositories easily discoverable by @Tim Krones and @Kshitij Sobti and be implemented together in collaboration.
We can utilize GitHub’s CODEOWNERS file to automatically notify reviewers on pull requests targeting specific sections of code within each repository. Each CC should be included in these teams as part of the onboarding process. We can already observe this in action in some repositories, such as the CODEOWNERS file in the frontend-app-authoring repository, where @openedx/2u-tnl is included as a reviewer by default due to its inclusion in the CODEOWNERS file.
Some tools which can help generate and maintain codeowners file in large repositories like edx-platform.
Pizza CLI Codeowners Command | OpenSauced : Use this tool to generate initial codeowners file and come up with teams based on repositories and sections of code.
CODEOWNERS Bot - GitHub Marketplace : To allow setting codeowners file in any directory and compile the global codeowners file in a github action.Improve review process by automatically notifying code owners and as result reduce time required for pull request reviews without compromising quality.
Impact
Improve review process by automatically notifying code owners and as result reduce time required for pull request reviews without compromising quality.
Timeline
Generating codeowners file for each repository and creating teams based on code sections and repositories. We’ll need someone with admin privileges to create those teams in github. Estimate: 30-40 hours
Adding github action to compile folder local codeowner files into a single global codeowners file. We also need to update the github pull request template to include information about creating codeowners file along with required teams to include in this file Estimate: 5-10 hours.