mirror of
https://git.pumpin.online/funkpower/catena.git
synced 2026-10-23 03:07:13 +00:00
35 lines
866 B
Bash
35 lines
866 B
Bash
#!/bin/sh
|
|||
|
|
# Everything that has to pass before a commit leaves the machine.
|
||
|
|
#
|
||
|
|
# The same script runs locally and in CI, so there is one gate and not two
|
||
|
|
# that drift apart.
|
||
|
|
set -eu
|
||
|
|
|
||
|
|
cd "$(dirname "$0")"
|
||
|
|
|
||
|
|
say() { printf '\n== %s\n' "$1"; }
|
||
|
|
|
||
|
|
say "formatting"
|
||
|
|
cargo fmt --check
|
||
|
|
|
||
|
|
say "lints"
|
||
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||
|
|
|
||
|
|
say "tests"
|
||
|
|
cargo test --workspace
|
||
|
|
|
||
|
|
say "docs"
|
||
|
|
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps --quiet
|
||
|
|
|
||
|
|
# Differential tests against the Python these tools were ported from. Skipped
|
||
|
|
# unless an interpreter with the dependencies is named, since most machines do
|
||
|
|
# not have one.
|
||
|
|
if [ -n "${CATENA_PARITY_PYTHON:-}" ]; then
|
||
|
|
say "parity against python"
|
||
|
|
cargo test -p parity --features python
|
||
|
|
else
|
||
|
|
say "parity against python (skipped: set CATENA_PARITY_PYTHON to run it)"
|
||
|
|
fi
|
||
|
|
|
||
|
|
printf '\nall clear\n'
|