From 6193b36ab23fb31812268e17a51e0d6280a3de78 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Thu, 24 Oct 2019 21:59:57 +0700 Subject: [PATCH] build: do not reinstall master toolchain if it is up-to-date --- setup-toolchain.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/setup-toolchain.sh b/setup-toolchain.sh index 89de40d40bc..c9d0b8623ba 100755 --- a/setup-toolchain.sh +++ b/setup-toolchain.sh @@ -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