- It is hard to maintain consistency across all repositories
- This will sync all the repository settings
- It supports
labels
,rulesets
,webhooks
and more...
The GitHub Action sync.yml will run every day and sync the repository settings with the config.
- Finds labels from the config in
config/labels.json
and creates them if not found, else updates them. It will also delete the labels which are not in the config. - It will also sync the colors of the labels.
- The key of the label for syncing is the
name
of the label.
- If the repository has projects enabled, it will disable them if they are not used.
- It will set the merge strategy to
squash
andrebase
for the repository. - Merge commits are not allowed.
- Auto-merge is enabled for the repository.
- Branches are deleted after merging.
- Web commit signing is required.
- First, It will also delete all the rulesets.
- Then it will create the rulesets from the config in
config/rulesets.json
.
- Webhooks are only
CREATED
andUPDATED
. - The key for syncing the webhooks is the
url
of the webhook. - The config is in
config/webhooks.json
.
- It will set the permissions for the
actions
towrite
for the repositorys. - It will allow the
actions
to access the approve pull requests.
- It will check if the repository has a
README.md
file or not. - If not, it will make a issue and ask the user to add a
README.md
file.
It will not create duplicate issues for the README.md
file if the issue is already open and the title of the issue hasn't changed.
- It will check if the repository has a
LICENSE
file or not. - If not, it will make a issue and ask the user to add a
LICENSE
file.
It will not create duplicate issues for the LICENSE
file if the issue is already open and the title of the issue hasn't changed.
This project is licensed under the GNU-GPLv3.0+ license. Read the license file for more details