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

support Github-like CODEOWNERS? #10161

Closed
qzmfranklin opened this issue Feb 6, 2020 · 9 comments · Fixed by #24910
Closed

support Github-like CODEOWNERS? #10161

qzmfranklin opened this issue Feb 6, 2020 · 9 comments · Fixed by #24910
Labels
type/proposal The new feature has not been accepted yet but needs to be discussed first.

Comments

@qzmfranklin
Copy link

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.

@lafriks
Copy link
Member

lafriks commented Feb 6, 2020

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

@lunny lunny added the type/proposal The new feature has not been accepted yet but needs to be discussed first. label Feb 7, 2020
@lunny
Copy link
Member

lunny commented Feb 7, 2020

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
Copy link

mecseid commented Jul 7, 2020

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
Copy link
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
Copy link

fossdd commented Jan 29, 2021

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

@danninov
Copy link

danninov commented Sep 6, 2021

Added bounty! Bountysource

@6543
Copy link
Member

6543 commented Jul 13, 2022

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 [email protected]
*.ts [email protected]

# 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/*  [email protected]
.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
Copy link

C-EO commented Mar 8, 2023

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

@jolheiser
Copy link
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!

lunny pushed a commit that referenced this issue Jun 8, 2023
Hello.
This PR adds a github like configuration for the CODEOWNERS file.

Resolves: #10161
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type/proposal The new feature has not been accepted yet but needs to be discussed first.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants