Skip to main content

Development

Requirements

  • Go 1.26.3+
  • Docker for integration tests
  • task for optional development workflows
  • Bun 1.3.13 for the documentation site

Common Commands

go test ./...
go build ./...
go fmt ./...
go vet ./...
go run ./cmd

Taskfile Helpers

task tools
task build
task build:pg
task build:sqlite
task run:sqlite
task live
task debug

Docker

Build locally:

docker build -t orisun:local .

Run the local Docker smoke test:

./scripts/test_docker.sh

Benchmarks

go test -bench=. -benchtime=3s ./cmd/benchmark_test.go
go test -run='^$' -bench=BenchmarkConsistencyCheck -benchtime=5s ./postgres/...
./collect_benchmarks.sh

Documentation

Run the documentation site locally:

cd docs
bun install
bun run start

Build the static site:

cd docs
bun run build

The GitHub Pages workflow runs the same frozen install and build:

bun install --frozen-lockfile
bun run build