Installation
Using Go Install
The recommended way to install github-ci:
go install github.com/reugn/github-ci/cmd/github-ci@latest
Make sure $GOPATH/bin or $GOBIN is in your $PATH.
From Releases
Download the latest binary for your platform from Releases.
From Source
Clone the repository and build manually:
git clone https://github.com/reugn/github-ci.git
cd github-ci
go build -o github-ci ./cmd/github-ci
sudo mv github-ci /usr/local/bin/
Verify Installation
github-ci --version
github-ci --help
You should see the version and the available commands.
Authentication
The tool can optionally use a GitHub personal access token for authentication, which provides:
- Higher rate limits: 5,000 requests/hour (authenticated) vs 60 requests/hour (unauthenticated)
- Access to private repositories: If you need to work with private action repositories
Setting up Authentication
Provide a GitHub token via the GITHUB_TOKEN environment variable:
export GITHUB_TOKEN=ghp_your_token_here
github-ci lint
The token is automatically read from the environment variable during initialization. No additional configuration is required.
The token is optional. The tool will work without it, but you may hit rate limits more quickly when processing many workflows.
CI/CD Integration
GitHub Actions
- name: Lint workflows
run: |
go install github.com/reugn/github-ci/cmd/github-ci@latest
github-ci lint
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Pre-commit Hook
Add to .git/hooks/pre-commit:
#!/bin/bash
github-ci lint --path .github/workflows