diff options
Diffstat (limited to 'scripts/ci.sh')
-rwxr-xr-x | scripts/ci.sh | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/scripts/ci.sh b/scripts/ci.sh index ec08568..b6a1a74 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh @@ -8,30 +8,30 @@ # Note: This script requires nightly Rust, rustfmt, clippy, and cargo-expand set -euo pipefail +IFS=$'\n\t' -if [[ "${1:-none}" == "+"* ]]; then - toolchain="${1}" -else - cargo +nightly -V >/dev/null || exit 1 - toolchain="+nightly" +# Decide Rust toolchain. Nightly is used by default. +toolchain="+nightly" +if [[ "${1:-}" == "+"* ]]; then + toolchain="${1}" + shift fi +# Make sure toolchain is installed. +cargo "${toolchain}" -V >/dev/null if [[ "${toolchain:-+nightly}" != "+nightly"* ]] || ! rustfmt -V &>/dev/null || ! cargo clippy -V &>/dev/null || ! cargo expand -V &>/dev/null; then - echo "error: ci.sh requires nightly Rust, rustfmt, clippy, and cargo-expand" - exit 1 + echo "error: ci.sh requires nightly Rust, rustfmt, clippy, and cargo-expand" + exit 1 fi echo "Running 'cargo ${toolchain} fmt --all'" cargo "${toolchain}" fmt --all echo "Running 'cargo ${toolchain} clippy --all --all-targets'" -cargo "${toolchain}" clippy --all --all-features --all-targets -Zunstable-options +cargo "${toolchain}" clippy --all --all-features --all-targets -Z unstable-options -echo "Running 'cargo ${toolchain} test --all --exclude expandtest'" -TRYBUILD=overwrite cargo "${toolchain}" test --all --all-features --exclude expandtest - -echo "Running 'bash scripts/expandtest.sh ${toolchain}'" -"$(cd "$(dirname "${0}")" && pwd)"/expandtest.sh "${toolchain}" +echo "Running 'cargo ${toolchain} test --all'" +cargo "${toolchain}" test --all --all-features echo "Running 'cargo ${toolchain} doc --no-deps --all'" cargo "${toolchain}" doc --no-deps --all --all-features |