Testing
Rust workspace layout
This repo is Rust-only for build, test, and runtime flows. Run commands from the repo root so the workspaceCargo.toml and Rust helper binaries resolve correctly.
Running tests
Use the repo test runner from the root:cargo test --workspace.
No secondary language toolchain is required.
Use cargo run --quiet --locked --manifest-path rust/crates/si-tools/Cargo.toml --bin si-test-runner -- workspace --help for a quick usage reminder.
Use cargo run --quiet --locked --manifest-path rust/crates/si-tools/Cargo.toml --bin si-test-runner -- workspace --list to print the active test lane without running it.
For one-command local coverage of the standard test stack, run:
si, sibling fort, and sibling surf, run:
Provider orbit validation
Provider-orbit coverage now lives in the normal Rust CLI and provider test suites. Use focused command tests such as:Installer smoke tests
To validate thesi installer script end-to-end, run:
si build installer host --help for a quick usage reminder.
To validate the npm launcher package end-to-end, run:
SI_INSTALL_SMOKE_SKIP_NONROOT=1 cargo run --quiet --locked -p si-rs-cli -- build installer smoke-docker to skip
the non-root leg during local iteration.
Vault strict suite
Run the dedicated vault suite:--quick is retained as a compatibility no-op; the Rust vault lane already runs as a single package suite.
Fort codex runtime security matrix
Run the Fort integration matrix:- profile-scoped Fort agent auth bootstrap in
si codex spawn - hosted Fort endpoint flow (configured via
~/.si/fort/settings.toml[fort].host) as the default runtime target - host-side bootstrap admin token resolved from
~/.si/fort/bootstrap/admin.tokenand passed to Fort as--token-file - runtime token-path flow remains file-backed; pass explicit token-file paths to native Fort commands when running through
si fort -- ... - in-container access through
si codex shellwith noFORT_TOKEN/FORT_REFRESH_TOKENsecret env leakage - strict token file modes/ownership (
0600files,0700fort state dir) - policy allow/deny behavior across multiple profiles and repo/env bindings
si codex respawn --volumesauth continuity- ciphertext-at-rest plus manual ECIES decrypt parity with
fort get
si fortis a wrapper aroundfort.- If
fortis not already onPATH, the wrapper can build and run the sibling../fortcheckout when build fallback is allowed. - If a flag belongs to
fortitself, pass it after--(for example:si fort -- --host https://fort.aureuma.ai doctor).
CI notes
GitHub Actions workflows use docs-only change detection to skip heavy test jobs when only docs/markdown files are modified.Static analysis
Run static analysis from the repo root:./si analyze:
CLI help smoke checks
After CLI command-surface changes, run targeted help checks:Image build smoke check
si build image runs a Codex compatibility preflight before building the image.
Run the preflight directly:
- If
docker buildxis available, SI runsdocker buildx build --loaddirectly. - If
docker buildxis unavailable or probe fails, SI uses classicdocker build. - SI no longer retries/falls back mid-build after a buildx start; mode is selected once up front.

