28 lines
1.2 KiB
Bash
Executable File
28 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# Enable with: git config core.hooksPath hooks
|
|
# The slow checks: doctests link a binary each, and the doc build.
|
|
|
|
set -e
|
|
|
|
# resolved-showcase (the showcase movie) is left out of every step here; pre-commit's
|
|
# clippy still builds it. It also turns on the library's astrokit feature, and Cargo
|
|
# unifies features across a workspace build, so with it in, the steps without default
|
|
# features would build the library with astrokit after all.
|
|
|
|
echo "pre-push: cargo test"
|
|
cargo test --workspace --exclude resolved-showcase --all-features --quiet
|
|
|
|
# Without default features: every target must still build cleanly, and the unit
|
|
# tests run. The GPU integration tests do not depend on features, so the run above
|
|
# covers them.
|
|
echo "pre-push: cargo clippy --no-default-features"
|
|
cargo clippy --workspace --exclude resolved-showcase --all-targets --no-default-features --quiet -- -D warnings
|
|
|
|
echo "pre-push: cargo test --no-default-features (unit tests)"
|
|
cargo test --workspace --exclude resolved-showcase --no-default-features --lib --bins --quiet
|
|
|
|
echo "pre-push: cargo doc"
|
|
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --exclude resolved-showcase --no-deps --all-features --quiet
|
|
|
|
echo "pre-push: ok"
|