/
Improve review process by using CODEOWNERS

Improve review process by using CODEOWNERS

Topic

Indicate which topic your proposal falls under:

Enhance Core Contributor Onboarding
Improve Collaboration, Communication & Reporting
Improve Fulfilling Commitments and Planning Processes
Improve Review Processes

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.

 

Related content

Use Kanban board for the working workflow
Use Kanban board for the working workflow
More like this
Single Responsible Person Principle (for bugs & PRs)
Single Responsible Person Principle (for bugs & PRs)
More like this
Join working groups as part of on-boarding
Join working groups as part of on-boarding
Read with this
Synching Actions Across GitHub/Team Boards
Synching Actions Across GitHub/Team Boards
More like this
Improving OSPR Management
Improving OSPR Management
Read with this
Community Contributions Project Manager
Community Contributions Project Manager
More like this