A minimal local CI runner with a live terminal UI.
Jobs run in parallel. Steps within a job run sequentially.
Purpose: concurrency, grouping, aggressive simplicity - the CI runner nobody asked for.
Using Go:
go install github.com/hashmap-kz/smallci@latestUsing Homebrew:
brew tap hashmap-kz/homebrew-tap
brew install smallci# Run with smallci.yaml in current directory
smallci
# Specify a config file
smallci run -c path/to/config.yaml
# Generate a default config and save it
smallci init go > smallci.yamljobs:
- name: lint
steps:
- name: fmt
run: gofumpt -w .
- name: vet
run: go vet ./...
- name: test
steps:
- name: unit
run: go test -v -race ./...
- name: build
steps:
- name: build
run: go build -ldflags="-s -w" ./...
env:
CGO_ENABLED: "0"
GOOS: linux| Key | Action |
|---|---|
↑ / ↓ or k / j |
Navigate one row |
J / K |
Jump to next / previous job |
h / l |
Fold job / unfold job or enter its steps |
enter / space |
Toggle fold on selected job |
tab |
Switch focus (tree <-> logs) |
f |
Jump to first failure |
r |
Re-run selected job; re-run selected step if on a step |
R |
Reload all — re-run the full pipeline from scratch |
t |
Toggle timeline view (shows per-step bars) |
z |
Toggle full-width log (hide / show tree) |
/ |
Search in logs (type query, Enter to confirm) |
n / N |
Next / previous search match |
C |
Cycle color theme (13 built-in themes) |
H |
Help |
ctrl+c |
Quit |
MIT. See LICENSE for details.
