This implies that the book should describe exactly what is implemented, and will not lead the way and eventually bitrot as the RFCs do.
63 lines
1.1 KiB
Bash
Executable File
63 lines
1.1 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
ci/version-check.sh stable
|
|
export RUST_BACKTRACE=1
|
|
export RUSTFLAGS="-D warnings"
|
|
|
|
_() {
|
|
echo "--- $*"
|
|
"$@"
|
|
}
|
|
|
|
maybe_install() {
|
|
for cmd in "$@"; do
|
|
set +e
|
|
"$cmd" --help > /dev/null 2>&1
|
|
declare exitcode=$?
|
|
set -e
|
|
if [[ $exitcode -ne 0 ]]; then
|
|
_ cargo install "$cmd"
|
|
fi
|
|
done
|
|
}
|
|
|
|
_ cargo fmt -- --check
|
|
_ cargo build --verbose
|
|
_ cargo test --verbose --lib
|
|
_ cargo clippy -- --deny=warnings
|
|
|
|
# Run integration tests serially
|
|
for test in tests/*.rs; do
|
|
test=${test##*/} # basename x
|
|
test=${test%.rs} # basename x .rs
|
|
_ cargo test --verbose --jobs=1 --test="$test"
|
|
done
|
|
|
|
# Run native program's tests
|
|
for program in programs/native/*; do
|
|
echo --- "$program"
|
|
(
|
|
set -x
|
|
cd "$program"
|
|
cargo test --verbose
|
|
)
|
|
done
|
|
|
|
# Build the HTML
|
|
export PATH=$CARGO_HOME/bin:$PATH
|
|
maybe_install mdbook
|
|
_ mdbook test
|
|
_ mdbook build
|
|
|
|
echo --- ci/localnet-sanity.sh
|
|
(
|
|
set -x
|
|
# Assume |cargo build| has populated target/debug/ successfully.
|
|
export PATH=$PWD/target/debug:$PATH
|
|
USE_INSTALL=1 ci/localnet-sanity.sh
|
|
)
|
|
|
|
_ ci/audit.sh
|