Skip to content

support Github-like CODEOWNERS? #10161

Closed
@qzmfranklin

Description

@qzmfranklin

We are a team of ~15 engineers using gitea for daily development.

What is the attitude of this project towards supporting the github-like CODEOWNERS system or something like it?

To be honest, I'd find this functionality very useful.

Activity

lafriks

lafriks commented on Feb 6, 2020

@lafriks
Member

I think this is nice feature but it would require Gitea to have request review functionality first for this

added
type/proposalThe new feature has not been accepted yet but needs to be discussed first.
on Feb 7, 2020
lunny

lunny commented on Feb 7, 2020

@lunny
Member

Doesn't request review feature depends on this one oppositely? When a pull request submitted, we need find the code owners and send review requests.

mecseid

mecseid commented on Jul 7, 2020

@mecseid

Do you have any update or plan when to implement this feature?

We want to use renovate to make dependency updates, but Gitea doesn't support to add reviewers for PR through API at the moment (or I didn't find it, but renovate doesn't implemenet this feature yet).

a1012112796

a1012112796 commented on Jul 8, 2020

@a1012112796
Member

Still doing, after #12039 and #11355 finished, I will try this feature, add some useful links about this issue.
github: https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
gitlab: https://gitlab.com/help/user/project/code_owners

fossdd

fossdd commented on Jan 29, 2021

@fossdd

Alright, seems that both PRs are merged. Any news on that? This feature would very nice!

danninov

danninov commented on Sep 6, 2021

@danninov

Added bounty! Bountysource

6543

6543 commented on Jul 13, 2022

@6543
Member

copy from @C-EO (#20348)


Feature Description

Github gives big teams the ability to allocate people or group of people to certain files. This means that they have the absolute control over those files and have the final say on those files. Using the 'CODEOWNERS' file, I have been able to keep large teams organized on Github. I think it would be great if Gitea had that option too.

SCENARIOS

A user would create a file, probably named .CODEOWNERS, CODEOWNERS, .codeowners, or codeowners in the .gitea directory or in the top level directory of a repo.

The file would be implemented in such a format

# This is a comment.
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @{user} and @{org}/{team} will be requested for
# review when someone opens a pull request.
*       @{user} @{org}/{team}

# Order is important; the last matching pattern takes the most
# precedence. When someone opens a pull request that only
# modifies JS files, only @{user} and not the global
# owner(s) will be requested for a review.
*.js    @{user}

# You can also use email addresses if you prefer. They'll be
# used to look up users just like we do for commit author
# emails.
*.js user@email.com
*.ts user@email.com

# Teams can be specified as code owners as well. Teams should
# be identified in the format @{org}/{team}. Teams must have
# explicit write access to the repository. In this example,
# the {team} team in the {org} organization owns all .txt files.
*.txt @{org}/{team} @{org}/{team-2} @{user}
*.js  @{org}/{team}
*.ts  @{org}/{team}
*.tsx @{org}/{team} @{org}/{team-2}
*.jsx @{org}/{team} @{org}/{team-2}
*.sh  @{org}/{team}
*.mdx @{org}/{team-2}
*.md  @{org}/{team-2}

# In this example, @{user} owns any files in the .github/workflows
# directory at the root of the repository and any of its
# subdirectories.
.github/workflows @{user} @{org}/{team}

# The `docs/*` pattern will match files like
# `docs/getting-started.md` but not further nested files like
# `docs/build-app/troubleshooting.md`.
docs/*  user@email.com
.github/ISSUE_TEMPLATES/* 
.github/PULL_REQUEST_TEMPLATE/*
.github/workflows/*

# In this example, @{user} owns any file in an apps directory
# anywhere in your repository.
apps/ @{user}
etc/ @{user} @{org}/{team}

# In this example, @{user} owns any file in the `/docs`
# directory in the root of your repository and any of its
# subdirectories.
docs/ @{user}

# In this example, @{user} owns any file in the `/apps` 
# directory in the root of your repository except for the `/apps/gitea` 
# subdirectory, as its owners are left empty.
/apps/ @{user}
/apps/gitea 

This would help keep the team organized and less confused.

The CODEOWNERS file can also be added to your codebase to help organize the developers better.

For further info, you could then use an icon like 'shield-lock' to show the developers who has charge over that file.

Screenshots

Web capture_13-7-2022_02522_github com
Web capture_13-7-2022_02654_github com

C-EO

C-EO commented on Mar 8, 2023

@C-EO

When is this coming to Gitea? I have been waiting almost a year now.

jolheiser

jolheiser commented on Mar 8, 2023

@jolheiser
Member

When is this coming to Gitea? I have been waiting almost a year now.

As soon as someone sends a PR and it gets merged. 🙂
Feel free to send one!

added a commit that references this issue on Jun 8, 2023
3bdd480
locked as resolved and limited conversation to collaborators on Jul 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/proposalThe new feature has not been accepted yet but needs to be discussed first.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @lunny@lafriks@qzmfranklin@mecseid@danninov

      Issue actions

        support Github-like CODEOWNERS? · Issue #10161 · go-gitea/gitea