Files
tines/scripts/ci.sh
T
kyleandClaude Opus 5.5 e65a9dee6c build(fuzz): require tines-core 1 and check the fuzz crate in ci.sh
fuzz/Cargo.toml still required tines-core 0.3.0, so since the 1.0.0
version bump `cargo fuzz run node` failed version selection (B6). The
requirement is now "1" and the lock is regenerated.

scripts/ci.sh now runs rustfmt and clippy (all targets, -D warnings) on
the out-of-workspace fuzz crate on the pinned stable toolchain, so it
can't silently stop building again. fuzz/.gitignore ignores target,
artifacts and coverage.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 08:44:09 -07:00

27 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
set -e
cargo fmt --all -- --check
cargo clippy --locked --workspace --all-targets -- -D warnings
cargo clippy --locked -p tines-core --no-default-features --all-targets -- -D warnings
# The backend conformance suite lives behind the `conformance` feature so it
# stays out of the default/std builds, but every backend crate still runs it.
cargo clippy --locked -p tines-core --features conformance --all-targets -- -D warnings
cargo clippy --locked -p tines-store --features conformance --all-targets -- -D warnings
cargo clippy --locked -p tines-sim --features conformance --all-targets -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --locked --workspace --no-deps
RUSTDOCFLAGS="-D warnings" cargo doc --locked -p tines-core --no-deps --no-default-features
cargo test --locked --workspace
cargo test --locked -p tines-core --features conformance
cargo test --locked -p tines-store --features conformance
cargo test --locked -p tines-sim --features conformance
cargo test --locked -p tines-core --no-default-features
# The std-free conformance suite also runs with `--no-default-features`, so the
# no_std + conformance combination is actually exercised (not just by inspection).
cargo test --locked -p tines-core --no-default-features --features conformance
sh scripts/check-no-std.sh
# The fuzz crate sits outside the workspace and only *runs* on nightly
# (cargo-fuzz, see .github/workflows/fuzz.yml), but it must keep resolving and
# compiling on the pinned stable toolchain, or the scheduled job rots unseen.
cargo fmt --manifest-path fuzz/Cargo.toml -- --check
cargo clippy --locked --manifest-path fuzz/Cargo.toml --all-targets -- -D warnings