GAMA is a powerful terminal-based user interface tool designed to streamline the management of GitHub Actions workflows. It allows developers to list, trigger, and manage workflows with ease directly from the terminal.
- Extended Workflow Inputs: Supports more than 10 workflow inputs using JSON format.
- Workflow History: Conveniently list all historical runs of workflows in a repository.
- Discoverability: Easily list all triggerable (dispatchable) workflows in a repository.
- Workflow Management: Trigger specific workflows with custom inputs.
- Live Updates: Automatically refresh workflow status at configurable intervals.
- Docker Support: Run directly from a container for easy deployment.
GAMA includes a live mode feature that automatically refreshes the workflow status at regular intervals:
- Toggle Live Updates: Press
ctrl+l
to turn live mode on/off - Auto-start: Set
settings.live_mode.enabled: true
to start GAMA with live mode enabled - Refresh Interval: Configure how often the view updates with
settings.live_mode.interval
(e.g., "15s", "1m")
Live mode is particularly useful when monitoring ongoing workflow runs, as it eliminates the need for manual refreshing.
Before using GAMA, you need to generate a GitHub token. Follow these instructions to create your token.
Place a ~/.config/gama/config.yaml
file in your home directory with the following content:
github:
token: <your github token>
keys:
switch_tab_right: shift+right
switch_tab_left: shift+left
quit: ctrl+c
refresh: ctrl+r
live_mode: ctrl+l # Toggle live mode on/off
enter: enter
tab: tab
settings:
live_mode:
enabled: true # Enable live mode at startup
interval: 15s # Refresh interval for live updates
Alternatively, you can use an environment variable:
GITHUB_TOKEN="<your github token>" gama
You can also make it an alias for a better experience:
alias gama='GITHUB_TOKEN="<your github token>" command gama'
If you have the GitHub CLI installed, you automatically insert the var via:
GITHUB_TOKEN="$(gh auth token)" gama
This will skip needing to generate a token via the GitHub website.
Warning
For security reasons, you should not export
your token globally in your shell.
That would make it available to any app that can read environment variables.
You should avoid committing it to your dotfiles repository, too.
Run GAMA in a Docker container:
docker run --rm -it --env GITHUB_TOKEN="<your github token>" termkit/gama:latest
Download the latest binary from the releases page.
make build
# output: ./release/gama
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Distributed under the GNU GENERAL PUBLIC LICENSE Version 3 or later. See LICENSE for more information.