build: do not reinstall master toolchain if it is up-to-date

This commit is contained in:
Lzu Tao 2019-10-24 21:59:57 +07:00
parent 8ab24d76dd
commit 6193b36ab2

View File

@ -6,8 +6,15 @@ set -e
cd "$(dirname "$0")"
if [[ "$CI" == true ]] || ! command -v rustup-toolchain-install-master > /dev/null; then
cargo install -Z install-upgrade rustup-toolchain-install-master --bin rustup-toolchain-install-master
cargo install -Z install-upgrade rustup-toolchain-install-master --bin rustup-toolchain-install-master
fi
rustup-toolchain-install-master -f -n master -c rustc-dev
RUST_COMMIT=$(git ls-remote https://github.com/rust-lang/rust master | awk '{print $1}')
if rustc +master -Vv 2>/dev/null | grep -q "$RUST_COMMIT"; then
echo "info: master toolchain is up-to-date"
exit 0
fi
rustup-toolchain-install-master -f -n master -c rustc-dev -- "$RUST_COMMIT"
rustup override set master