Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CODEOWNERS file for OpenFL repository #1309

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from

Conversation

noopurintel
Copy link
Contributor

@noopurintel noopurintel commented Jan 24, 2025

Problem

The OpenFL repository currently lacks a CODEOWNERS file, which results in below (inter-related) issues:

  1. Inefficient code review process - without a CODEOWNERS file, there is no automatic mechanism to assign specific reviewers to pull requests. This can lead to delays in identifying the right people to review code changes, and may result in PRs being reviewed by individuals unfamiliar with the code they are reviewing.

  2. Increased risk of errors - without designated reviewers, code changes may bypass thorough review from subject matter experts, potentially leading to the introduction of bugs, security vulnerabilities, or performance issues.

  3. Lack of Accountability - a missing CODEOWNERS file can make it unclear who should be held accountable for specific areas of the project. This can hinder communication and accountability within the development team.


Proposed Solution

  • To have a properly configured CODEOWNERS file to address above issues and ensure that pull requests are automatically assigned to the relevant reviewers, improving the code review process, fostering accountability, and promoting better code quality.

Key points

  1. Permission – only people with write permissions can create/edit the file and be listed as code owners.

    image
  2. Syntax - follows simple text format, allows glob patterns. Similar to .gitignore file.

  3. PR review blocking

  • if a CODEOWNERS file is present and relevant owners are not set to review a PR, GitHub will block the PR from being merged until required reviews are provided.
  • if a file has no assigned owner in the CODEOWNERS file, no reviewer will be automatically assigned for that file.
  1. Combination with branch protection rules - for example, you may require that a certain number of owners or specific team members approve PRs before they can be merged.

    image
  2. Pattern precedence

  • GitHub evaluates patterns from top to bottom in the CODEOWNERS file. The most specific pattern takes precedence over broader ones. For example, a pattern matching src/frontend/* will take precedence over src/*.
  • If two patterns match the same file, the one listed last is applied.

Additional Info

GitHub clearly shows whether given CODEOWNERS file is valid or not, so it's easy to debug and fix it.

image

Even the owners with NO write permission would be marked as invalid entries.

image

@noopurintel noopurintel marked this pull request as draft January 27, 2025 11:43
@noopurintel noopurintel changed the title Draft: CODEOWNERS file for OpenFL repository CODEOWNERS file for OpenFL repository Jan 28, 2025
@noopurintel noopurintel marked this pull request as ready for review January 29, 2025 04:46
Copy link
Collaborator

@teoparvanov teoparvanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for kick-starting this effort, @noopurintel and @payalcha !

CODEOWNERS Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants