diff --git a/ci/rust-version.sh b/ci/rust-version.sh index 9141d8507b..54582c0958 100644 --- a/ci/rust-version.sh +++ b/ci/rust-version.sh @@ -38,7 +38,8 @@ export rust_nightly_docker_image=solanalabs/rust-nightly:"$nightly_version" rustup_install() { declare toolchain=$1 - if ! cargo +"$toolchain" -V; then + if ! cargo +"$toolchain" -V > /dev/null; then + echo "$0: Missing toolchain? Installing...: $toolchain" >&2 rustup install "$toolchain" cargo +"$toolchain" -V fi @@ -58,7 +59,7 @@ export rust_nightly_docker_image=solanalabs/rust-nightly:"$nightly_version" rustup_install "$rust_nightly" ;; *) - echo "Note: ignoring unknown argument: $1" + echo "$0: Note: ignoring unknown argument: $1" >&2 ;; esac ) diff --git a/ci/test-checks.sh b/ci/test-checks.sh index ad0f10bca2..8fbd41dc8a 100755 --- a/ci/test-checks.sh +++ b/ci/test-checks.sh @@ -1,7 +1,5 @@ #!/usr/bin/env bash -# -# cargo fmt, cargo clippy -# + set -e cd "$(dirname "$0")/.." @@ -10,6 +8,23 @@ source ci/_ source ci/rust-version.sh stable source ci/rust-version.sh nightly +echo --- build environment +( + set -x + + rustup run "$rust_stable" rustc --version --verbose + rustup run "$rust_nightly" rustc --version --verbose + + cargo +"$rust_stable" --version --verbose + cargo +"$rust_nightly" --version --verbose + + cargo +"$rust_stable" clippy --version --verbose + cargo +"$rust_nightly" clippy --version --verbose + + # audit is done only with stable + cargo +"$rust_stable" audit --version +) + export RUST_BACKTRACE=1 export RUSTFLAGS="-D warnings" @@ -26,10 +41,8 @@ _ ci/order-crates-for-publishing.py _ cargo +"$rust_stable" fmt --all -- --check # -Z... is needed because of clippy bug: https://github.com/rust-lang/rust-clippy/issues/4612 -_ cargo +"$rust_nightly" clippy -Zunstable-options --version _ cargo +"$rust_nightly" clippy -Zunstable-options --workspace --all-targets -- --deny=warnings -_ cargo +"$rust_stable" audit --version _ scripts/cargo-for-all-lock-files.sh +"$rust_stable" audit --ignore RUSTSEC-2020-0002 --ignore RUSTSEC-2020-0008 { @@ -41,7 +54,6 @@ _ scripts/cargo-for-all-lock-files.sh +"$rust_stable" audit --ignore RUSTSEC-202 cd "$project" _ cargo +"$rust_stable" fmt -- --check _ cargo +"$rust_nightly" test - _ cargo +"$rust_nightly" clippy --version _ cargo +"$rust_nightly" clippy -- --deny=warnings --allow=clippy::missing_safety_doc ) done