Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ jobs:
SPICEIO_REGION: ${{ vars.SPICEIO_REGION || 'us-west-1' }}
run: ./scripts/test-sccache.sh

- name: Compile benchmarks
run: cargo bench --locked --no-run

- name: Build release artifact
run: cargo build --release --locked --bin spiceio

Expand Down
18 changes: 18 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,27 @@ make release # optimized release build
make lint # fmt-check + check + strict clippy + rustdoc warnings
make test # sccache integration test (requires SPICEIO_SMB_USER/PASS)
make fmt # auto-format
make bench # criterion benchmarks (crypto + protocol)
make bench-live # live throughput benchmarks against NAS
make clean # cargo clean
```

## Pre-PR checklist

Always run these before creating a PR — they mirror what CI checks:

```bash
cargo fmt --all # auto-format first
cargo fmt --all --check # verify no formatting diff remains
cargo clippy --locked --all-targets --all-features -- -D warnings -D clippy::all -D clippy::cargo -A clippy::cargo-common-metadata
RUSTDOCFLAGS="-D warnings" cargo doc --locked --workspace --no-deps --document-private-items
cargo test --locked # unit tests must pass
```

Or simply: `make lint && cargo test --locked`

The CI also runs `./scripts/test-sccache.sh` (sccache integration test) when SMB credentials are available.

The binary requires these environment variables:
- `SPICEIO_SMB_SERVER` (required) — SMB server hostname or IP
- `SPICEIO_SMB_USER` (required) — SMB username
Expand Down
Loading
Loading