Most tests do not need a bucket. The ones that seal objects do.
cargo test --workspace is the check GitHub Actions runs. It does not start MinIO. Tests that would rewrite sealed objects skip unless you opt in.
On a laptop
cargo test --workspace
docker compose up -d minio create-bucket
CAMUS_MINIO=1 cargo test -p camus-storage --test minio
The bucket has to exist first. The compose command and the default keys are on the bucket page. CAMUS_MINIO=1 is the opt-in. Without it, those tests skip instead of failing on a missing endpoint.
Three processes
cargo test -p camus-broker --test cluster starts three broker processes, commits a metadata write, kills the leader, and checks that a new write commits. It is the same property as the brokers profile, without Docker.
What CI publishes
GitHub Actions runs cargo test --workspace --locked on pull requests and on main. A green main publishes ghcr.io/nidheesh-m-vakharia/camus, tagged latest and the commit. The package stays private until that is changed in the GitHub package settings. The workflow does not start MinIO, and it does not run the formatter.