DEV Community

Orta
Orta

Posted on

9 3

Let people own a subset of your repo

My Workflow

The Action: code-owner-self-merge

Using the CODEOWNERS format (a set of globs, then a set of GitHub usernames) you can define areas in a codebase which gives people the right to merge PRs which just affect their spaces.

Submission Category:

Maintainer Must-Haves

Yaml File or Link to Code

GitHub logo orta / code-owner-self-merge

A GitHub Action for letting CODEOWNERS merge PRs via green PR reviews

A GitHub action that lets code-owners merge PRs via a comment.

This action uses the standardized structure of a CODEOWNERS file to handle the access controls.

A simple example

So, with this file at: .github/CODEOWNERS:

README.md @orta

If a PR contained only a change to the README.md - this action would say that "@orta has the ability to merge by commenting 'LGTM'".

Then, when/if this happens the GitHub Action will merge for you.

A real-world example

.github/CODEOWNERS:

# Collaborators for Japanese Translation of the Website
packages/playground-examples/copy/ja/** @sasurau4
 @quramy
 @naturalclar
 @Takepepe @orta

packages/tsconfig-reference/copy/ja/** @sasurau4
 @quramy
 @naturalclar
 @Takepepe @orta

packages/typescriptlang-org/src/copy/ja/** @sasurau4
 @quramy
 @naturalclar
 @Takepepe @orta

packages/documentation/copy/ja/** @sasurau4
 @quramy
 @naturalclar
 @Takepepe @orta

This allows any of @sasurau4, @Quramy, @Naturalclar, @Takepepe or @orta to merge PRs which affect their areas of the translation process in the TypeScript Website repo.

Setting It Up

You want a…


name: Codeowners merging
on:
  pull_request_target:
  issue_comment: { types: created }

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Run Codeowners merge check
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      uses:  orta/code-owner-self-merge@v1

Additional Resources / Info

This is being used in the new TypeScript Website, to give translators access to merge PRs to their language: https://github.com/microsoft/TypeScript-Website/pull/899

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (1)

Collapse
 
waylonwalker profile image
Waylon Walker

Wow, that is a fascinating action.

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay