ApproveMan is a GitHub app that helps approve pull requests with safe changes.
This is especially useful for protected branches.
To maintain the health of repositories, it's important to set up review requirements and continuous integration to make sure every pull request that goes in is good.
For example, GitHub provides "protected branches" as a way to put hard requirements including passing checks and code review approvals on incoming pull requests.
However, not all pull requests require human attention.
For example, it's reasonable for a repository to set up a location with a user's GitHub ID like [project_root]/playground/tianhaoz95
to allow developers add quick experiments that they want to keep a record and share with the team.
In this case, if I want to add some notes in [project_root]/playground/tianhaoz95/my-note.md
, there is no reason to ask another developer to review the change.
You can configure the behavior by adding rules into .github/approveman.yml
.
Here is an example that, given that my GitHub ID is tianhaoz95
, approves all the changes that go into playground/tianhaoz95
and docs/personal/tianhaoz95
:
ownership_rules:
directory_matching_rules:
- name: personal projects in experimental
path: playground//**/*
- name: personal documentation
path: docs/personal//**/*
Note:
playground//**/*
if no config file is provided in the repository..github
the directory is denied regardless of the rules in the configuration for safety.