sand orchestrates ephemeral macOS/Linux CI runners using Tart VMs with automatic GitHub Actions integration.
swift build # debug build
swift build -c release # release build
swift test # run tests (Swift Testing)
swift run sand --config config.yml # run CLISources/sandcontains the CLI implementation, config parsing/validation, VM orchestration, and integrations. GitHub-specific logic lives inSources/sand/GitHub.Tests/sandTestscontains unit tests using Swift Testing (@Test,#expect).fixtures/holds sample configs, includingfixtures/sample_full_config.ymlfor full schema coverage.Package.swiftandPackage.resolveddefine SwiftPM build settings and dependencies.Formula/contains the Homebrew formula for distribution.
- Use Swift Testing assertions (
#expect) and keep test inputs close to fixtures or inline YAML strings. - When changing the config schema, update or add fixture coverage and the relevant config tests.
- Configuration is YAML loaded via
--config; seefixtures/*.ymlfor example configurations