GitHub Action
GitHub Organization Sync(er)
github-org-sync(-action)
is a tool to sync files from a skeleton/template repository to other repositories in your organization. It works within a single organization, but of course it can be used multiple times.
It currently syncs .github/workflows
— more is planned.
Inspiration from:
- https://github.com/cloudalchemy/auto-maintenance
- https://github.com/prometheus/prometheus/blob/master/scripts/sync_repo_files.sh
You're super excited and need to see how it works?
https://github.com/hostwithquantum/github-org-sync-action/actions?query=workflow%3Async
This Action is meant to run on a schedule, see the "sync" workflow (.github/workflows/sync.yml
) in this repository for a minimal demo/working example.
Required Name of the user to commit files and open PRs.
Required Email of the user to commit files and open PRs.
Required An access token (used for clone and push), scope repo.
Required Your Github organization. Default: hostwithquantum
Required The base repository to sync files from. Default: ansible-skeleton
.
Required A (space-delimited) list of repositories to sync to. Default: "ansible-weave"
If GitHub Actions are not applicable to your environment, you may run the tool without (and e.g. via cron.d
).
All releases are done using the amazing goreleaser
in a release workflow in this repository. The workflow validates and builds binaries for different OS' and architectures and a Docker image (amd64) as well.
You may download a release for Mac, Linux or Windows here:
To use the Docker image, please follow one of these links:
- https://quay.io/repository/hostwithquantum/github-org-sync?tab=tags
- https://github.com/hostwithquantum/github-org-sync-action/packages
Otherwise: make dev
to build a snapshot.
github-org-sync
uses environment variables. There is nothing else currently.- See .envrc-dist for necessary configuration.
- Please note that,
GITHUB_ACCESS_TOKEN
requires full repo scope, in order to create branches, push them and open pull-requests.
Planetary Quantum GmbH — come check us out. 🚀 :)
BSD-2-Clause ("Simplified BSD License")