diff --git a/.travis.yml b/.travis.yml index 115a516ad0b3ce0cc21b9438d0f52867204e2a65..2467c99078cc3a1476eb275f300c557f1b804ddd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,8 +49,8 @@ matrix: stage: tools-and-build-and-tier1 rust: nightly install: - - rustup component add rust-src - - cargo install xargo + - travis_retry rustup component add rust-src + - travis_retry cargo install xargo - name: "Build Stable Rust" script: sh ci/build.sh stage: tools-and-build-and-tier1 diff --git a/ci/build.sh b/ci/build.sh index a97af20a459e0bdf7ad7e30eb42624a644c752e7..78c65be9714b43001ac7bade982685fa781ab6ce 100644 --- a/ci/build.sh +++ b/ci/build.sh @@ -26,7 +26,16 @@ test_target() { # If there is a std component, fetch it: if [ "${NO_STD}" != "1" ]; then - rustup target add "${TARGET}" --toolchain "${RUST}" + # FIXME: rustup often fails to download some artifacts due to network + # issues, so we retry this N times. + N=5 + n=0 + until [ $n -ge $N ] + do + rustup target add "${TARGET}" --toolchain "${RUST}" && break + n=$((n+1)) + sleep 1 + done fi # Test that libc builds without any default features (no libstd) @@ -110,13 +119,6 @@ x86_64-pc-windows-gnu \ x86_64-unknown-linux-gnux32 \ x86_64-unknown-redox \ " -# FIXME: these do not have a rust-std component available -# aarch64-unknown-cloudabi armv7-unknown-cloudabi-eabihf -# i686-unknown-cloudabi powerpc-unknown-linux-gnuspe -# sparc-unknown-linux-gnu mips-unknown-linux-uclib -# i686-unknown-haiku mipsel-unknown-unknown-linux-uclib -# sparc64-unknown-netbsd x86_64-unknown-bitrig x86_64-unknown-haiku -# x86_64-unknown-openbsd i686-unknown-netbsd RUST_OSX_TARGETS="\ aarch64-apple-ios \