Skip to content

HeyItWorked/minici

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minici

A minimal CI runner written in Go.

Watches a Git repository, triggers builds on commit, runs steps in containers, streams logs, and shows results in a dashboard.

minici dashboard

Live Demo

Status

Module Description Status
Process execution Run commands with timeout, capture output, stream logs live
Git integration Watch repo, detect commits, diff changed files
Pipeline definition Parse pipeline.yaml, run steps sequentially or in parallel
Docker integration Run pipeline steps inside containers (Docker Go SDK)
Storage Persist build results (JSON + SQLite), log writing
HTTP dashboard REST API + embedded HTML dashboard

Getting Started

Requires Docker and VS Code with the Dev Containers extension.

git clone https://github.com/HeyItWorked/minici
cd minici
# Open in VS Code → "Reopen in Container"
go run ./cmd/minici
# Open http://localhost:8080

Project Structure

cmd/minici/         # entrypoint
internal/runner/    # process execution — RunCommand, RunStreaming, RunInContainer
internal/git/       # git integration — GetLatestCommit, Watch, ChangedFiles
internal/pipeline/  # pipeline — Load YAML config, Run steps (sequential + parallel + container)
internal/store/     # persistence — JSONStore, SQLiteStore, LogStore
internal/api/       # HTTP server — REST endpoints, embedded dashboard

About

A minimal CI runner written in Go

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors