diff --git a/scripts/cargo-check.sh b/scripts/cargo-check.sh new file mode 100755 index 00000000..01b94411 --- /dev/null +++ b/scripts/cargo-check.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Run various invocations of cargo check + +features=( "default" "compiler" "electrum" "esplora" "compact_filters" "key-value-db" "async-interface" "all-keys" "keys-bip39" ) +toolchains=( "+stable" "+1.45" "+nightly" ) + +main() { + check_src + check_all_targets +} + +# Check with all features, with various toolchains. +check_src() { + for toolchain in "${toolchains[@]}"; do + cmd="cargo $toolchain clippy --all-targets --no-default-features" + + for feature in "${features[@]}"; do + touch_files + $cmd --features "$feature" + done + done +} + +# Touch files to prevent cached warnings from not showing up. +touch_files() { + touch $(find . -name *.rs) +} + +main +exit 0