GitHub keeper is a CLI tool that helps to unify our repositories.
⚠ We archived this repository since it is not maintained any more. ⚠
- Reactivate scheduled GitHub actions that have been automatically disabled by GitHub after some time.
- List all Exasol repositories that are not archived and where you are admin.
- Inspect and fix settings of a GitHub repository regarding labels, branch protection and actions.
Install Go language. Minimum version is 1.18.
- On Debian / Ubuntu:
sudo apt install golang-go
- On macOS:
brew install golang
If you only want to use github-keeper, run the following command:
go install github.com/exasol/github-keeper@main
This will install it to $(go env GOPATH)/bin/github-keeper
.
Checkout sources and install dependent packages:
git clone https://github.com/exasol/github-keeper.git
cd github-keeper
go get ./...
You can install github-keeper to $(go env GOPATH)/bin/github-keeper
by running:
go install
After adding $(go env GOPATH)/bin/
to your PATH
you can run github-keeper by just calling github-keeper
.
Please create the configuration file ~/.github-keeper/secrets.yml
with the following content:
issuesSlackWebhookUrl: "<slack web-hook url for issue updates>"
The url can be found in the keeper-vault.
If you want to run github-keeper from the source code, replace the github-keeper
command with go run .
.
Command | Description |
---|---|
github-keeper help command |
Display command line help |
github-keeper reactivate-scheduled-github-actions |
Reactivate the scheduled GitHub actions for the given repository. |
github-keeper completion <shell> |
Generate autocompletion script for shell <shell> |
github-keeper list-my-repos |
List all Exasol repositories where you are admin |
github-keeper configure-repo <repo-name> [more repo names] [flags] |
Inspect settings of GitHub repository |
List all repositories of the Exasol organization where I'm the admin and that are not archived.
Usage: github-keeper list-my-repos [flags]
Flags | Description |
---|---|
-h , --help |
Help |
Reenable scheduled actions automatically disabled by GitHub after some time.
Usage: github-keeper reactivate-scheduled-github-actions <repo-name> [flags]
Flags | Description |
---|---|
-h , --help |
Help |
Verify the config of a given repository
Usage: github-keeper configure-repo <repo-name> [more repo names] [flags]
Flags | Description |
---|---|
--fix |
If this flag is set, github-keeper fixed the findings. Otherwise it just prints the diff. |
-h , --help |
Help |
--secrets string |
Use a different secrets file location (default ~/.github-keeper/secrets.yml |
Hint: To verify the setup of all your repos use:
github-keeper configure-repo $(github-keeper list-my-repos)
Generate the autocompletion script for github-keeper for the specified shell. See each help for each shell for details on how to use the generated script.
Usage: github-keeper completion [shell]
Supported Shells:
- bash
- fish
- powershell
- zsh
Flags | Description |
---|---|
-h , --help |
help |
Use github-keeper help completion [shell]
for more information about a generating completion for a specific shell.
List all repos of the Exasol integration team:
gh repo list exasol --limit 500 --json name,repositoryTopics --jq \
'.[] | select(.repositoryTopics.[]?.name == "exasol-integration") | .name' \
| tr "\n" " "
Reactivate disabled scheduled GitHub Actions:
gh repo list exasol --limit 500 --json name,repositoryTopics --jq \
'.[] | select(.repositoryTopics.[]?.name == "exasol-integration") | .name' | tr "\n" " " \
| xargs github-keeper reactivate-scheduled-github-actions