Skip to content

hashmap-kz/smallci

smallci

A minimal local CI runner with a live terminal UI.

Jobs run in parallel. Steps within a job run sequentially.

License Go Report Card Go Reference Workflow Status Latest Release

Purpose: concurrency, grouping, aggressive simplicity - the CI runner nobody asked for.

Preview


Install

Using Go:

go install github.com/hashmap-kz/smallci@latest

Using Homebrew:

brew tap hashmap-kz/homebrew-tap
brew install smallci

Usage

# 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.yaml

Config

jobs:
  - 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

Keybindings

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

License

MIT. See LICENSE for details.

About

A minimal local CI runner with a live terminal UI

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors

Languages