From 91741e20fa00b26dc837d6147109b453432ec3ae Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Mon, 6 Aug 2018 08:57:12 -0700 Subject: [PATCH] Add rustc/cargo version check --- ci/test-large-network.sh | 9 ++++++++- ci/test-nightly.sh | 3 +-- ci/test-stable-perf.sh | 10 ++++++++-- ci/test-stable.sh | 3 +-- ci/version-check.sh | 35 +++++++++++++++++++++++++++++++++++ 5 files changed, 53 insertions(+), 7 deletions(-) create mode 100755 ci/version-check.sh diff --git a/ci/test-large-network.sh b/ci/test-large-network.sh index 744462964..3abe93d0a 100755 --- a/ci/test-large-network.sh +++ b/ci/test-large-network.sh @@ -3,10 +3,17 @@ here=$(dirname "$0") cd "$here"/.. +if ! ci/version-check.sh stable; then + # This job doesn't run within a container, try once to upgrade tooling on a + # version check failure + rustup install stable + ci/version-check.sh stable +fi +export RUST_BACKTRACE=1 + ./fetch-perf-libs.sh export LD_LIBRARY_PATH+=:$PWD -export RUST_BACKTRACE=1 export RUST_LOG=multinode=info set -x diff --git a/ci/test-nightly.sh b/ci/test-nightly.sh index b59aeaaea..4b1683661 100755 --- a/ci/test-nightly.sh +++ b/ci/test-nightly.sh @@ -2,9 +2,8 @@ cd "$(dirname "$0")/.." +ci/version-check.sh nightly export RUST_BACKTRACE=1 -rustc --version -cargo --version _() { echo "--- $*" diff --git a/ci/test-stable-perf.sh b/ci/test-stable-perf.sh index 935d0eb32..4abdcf6ef 100755 --- a/ci/test-stable-perf.sh +++ b/ci/test-stable-perf.sh @@ -2,11 +2,17 @@ cd "$(dirname "$0")/.." -./fetch-perf-libs.sh +if ! ci/version-check.sh stable; then + # This job doesn't run within a container, try once to upgrade tooling on a + # version check failure + rustup install stable + ci/version-check.sh stable +fi +export RUST_BACKTRACE=1 +./fetch-perf-libs.sh export LD_LIBRARY_PATH=$PWD:/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin -export RUST_BACKTRACE=1 _() { echo "--- $*" diff --git a/ci/test-stable.sh b/ci/test-stable.sh index 7abb66588..895bea262 100755 --- a/ci/test-stable.sh +++ b/ci/test-stable.sh @@ -2,9 +2,8 @@ cd "$(dirname "$0")/.." +ci/version-check.sh stable export RUST_BACKTRACE=1 -rustc --version -cargo --version _() { echo "--- $*" diff --git a/ci/version-check.sh b/ci/version-check.sh new file mode 100755 index 000000000..0e0800f8f --- /dev/null +++ b/ci/version-check.sh @@ -0,0 +1,35 @@ +#!/bin/bash -e + +require() { + declare expectedProgram="$1" + declare expectedVersion="$2" + + read -r program version _ < <($expectedProgram -V) + + declare ok=true + [[ $program = "$expectedProgram" ]] || ok=false + [[ $version =~ $expectedVersion ]] || ok=false + + echo "Found $program $version" + if ! $ok; then + echo Error: expected "$expectedProgram $expectedVersion" + exit 1 + fi +} + +case ${1:-stable} in +nightly) + require rustc 1.29.[0-9]+-nightly + require cargo 1.29.[0-9]+-nightly + ;; +stable) + require rustc 1.28.[0-9]+ + require cargo 1.28.[0-9]+ + ;; +*) + echo Error: unknown argument: "$1" + exit 1 + ;; +esac + +exit 0