From bdb2a535975d7707aaab6ac036aa445727db22e6 Mon Sep 17 00:00:00 2001 From: Tobin Harding Date: Wed, 10 Feb 2021 11:18:39 +1100 Subject: [PATCH] Add cargo check script We build against various targets on CI, in order to not abuse CI its nice to see if code is good before pushing. Add a script that runs `cargo check` with various combinations of features and targets in order to enable thorough checking of the project source code during development. --- scripts/cargo-check.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 scripts/cargo-check.sh 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