Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Build Pipeline

CI is defined in .github/workflows/.

CI Workflow (ci.yml)

Runs on every push to main or feature/** branches and on pull requests.

Jobs (run in parallel):

JobWhat it does
Lintcargo fmt --check + cargo clippy -D warnings
Backend Testscargo test --workspace with SQLX_OFFLINE=true
Frontend Testsnpx tsc --noEmit + npm test
Build CheckFull frontend + backend release build

Release Workflow (release.yml)

Triggered by pushing a tag matching v* (e.g., v0.1.0).

Build Matrix

TargetRunnerAsset Name
x86_64-unknown-linux-gnuubuntu-lateststoreit-server-linux-x86_64
x86_64-unknown-linux-muslubuntu-lateststoreit-server-linux-x86_64-musl
aarch64-unknown-linux-gnuubuntu-latest + crossstoreit-server-linux-aarch64
aarch64-unknown-linux-muslubuntu-latest + crossstoreit-server-linux-aarch64-musl
x86_64-apple-darwinmacos-14 (cross from ARM)storeit-server-darwin-x86_64
aarch64-apple-darwinmacos-14storeit-server-darwin-aarch64
x86_64-pc-windows-msvcwindows-lateststoreit-server-windows-x86_64.exe

ARM Linux targets use the cross tool for Docker-based cross-compilation (compatible with free-tier GitHub runners).

Release Assets

Each release includes:

  • Pre-built binaries for all 7 targets
  • storeit-ctl (Python management tool)
  • SHA256SUMS (checksums for all files)

Local Equivalents

make lint          # cargo fmt + clippy
make test          # cargo test --workspace
make build-all     # frontend build + cargo build --release
make coverage      # llvm-cov with 93% minimum