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.
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: CGO_ENABLED=0 go build -ldflags="-s -w" ./...| Key | Action |
|---|---|
↑ / ↓ or k / j |
Navigate |
h / l |
Fold / unfold 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) |
q / ctrl+c |
Quit |
MIT. See LICENSE for details.
