language: rust rust: nightly sudo: required dist: xenial services: docker stages: - tools-and-build-and-tier1 - tier2 matrix: include: # TOOLS - name: "Documentation" env: TARGET=x86_64-unknown-linux-gnu script: sh ci/dox.sh install: - travis_retry rustup component add rust-src - travis_retry cargo install xargo stage: tools-and-build-and-tier1 - name: "Shellcheck" install: true script: - shellcheck --version - shellcheck ci/*.sh stage: tools-and-build-and-tier1 - name: "Style" install: true script: - rustc ci/style.rs && ./style src # Disabled due to rust-lang/rustfmt#3341 #- | # if rustup component add rustfmt-preview ; then # cargo fmt --all -- --check # fi stage: tools-and-build-and-tier1 - name: "Semver Linux" install: travis_retry cargo +nightly install semverver script: sh ci/semver.sh stage: tools-and-build-and-tier1 - name: "Semver MacOSX" install: travis_retry cargo +nightly install semverver script: sh ci/semver.sh os: osx osx_image: xcode10 stage: tools-and-build-and-tier1 # BUILD stable, beta, nightly - name: "Build Stable Rust" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: stable install: true - name: "Build Beta Rust" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: beta install: true - name: "Build Nightly Rust" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: nightly install: - 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 rust: stable os: osx osx_image: xcode10 install: true - name: "Build Beta Rust" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: beta os: osx osx_image: xcode10 install: true - name: "Build Nightly Rust" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: nightly os: osx osx_image: xcode10 install: true - name: "Build Stable Rust 1.13.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.13.0 install: true - name: "Build Stable Rust 1.19.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.19.0 install: true - name: "Build Stable Rust 1.24.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.24.0 install: true - name: "Build Stable Rust 1.25.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.25.0 install: true - name: "Build Stable Rust 1.30.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.30.0 install: true - name: "Build Stable Rust 1.13.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.13.0 os: osx osx_image: xcode10 install: true - name: "Build Stable Rust 1.19.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.19.0 os: osx osx_image: xcode10 install: true - name: "Build Stable Rust 1.24.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.24.0 os: osx osx_image: xcode10 install: true - name: "Build Stable Rust 1.25.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.25.0 os: osx osx_image: xcode10 install: true - name: "Build Stable Rust 1.30.0" script: sh ci/build.sh stage: tools-and-build-and-tier1 rust: 1.30.0 os: osx osx_image: xcode10 install: true - env: TARGET=i686-apple-darwin os: osx osx_image: xcode10 stage: tools-and-build-and-tier1 - env: TARGET=i686-unknown-linux-gnu stage: tools-and-build-and-tier1 - env: TARGET=x86_64-apple-darwin os: osx osx_image: xcode10 install: true stage: tools-and-build-and-tier1 - env: TARGET=x86_64-unknown-linux-gnu stage: tools-and-build-and-tier1 install: true # Tier 2 targets - env: TARGET=aarch64-linux-android stage: tier2 - env: TARGET=aarch64-unknown-linux-gnu stage: tier2 - env: TARGET=aarch64-unknown-linux-musl stage: tier2 - env: TARGET=arm-linux-androideabi stage: tier2 - env: TARGET=arm-unknown-linux-gnueabihf stage: tier2 - env: TARGET=arm-unknown-linux-musleabihf stage: tier2 - env: TARGET=asmjs-unknown-emscripten stage: tier2 - env: TARGET=i686-unknown-linux-musl stage: tier2 - env: TARGET=mips-unknown-linux-gnu stage: tier2 - env: TARGET=mips-unknown-linux-musl stage: tier2 - env: TARGET=mips64-unknown-linux-gnuabi64 stage: tier2 - env: TARGET=mips64el-unknown-linux-gnuabi64 stage: tier2 - env: TARGET=mipsel-unknown-linux-musl stage: tier2 - env: TARGET=powerpc-unknown-linux-gnu stage: tier2 - env: TARGET=powerpc64-unknown-linux-gnu stage: tier2 - env: TARGET=powerpc64le-unknown-linux-gnu stage: tier2 - env: TARGET=s390x-unknown-linux-gnu stage: tier2 - env: TARGET=sparc64-unknown-linux-gnu stage: tier2 - env: TARGET=wasm32-unknown-emscripten stage: tier2 - env: TARGET=x86_64-linux-android stage: tier2 - env: TARGET=x86_64-unknown-linux-gnux32 OPT="--release" stage: tier2 - env: TARGET=x86_64-unknown-linux-musl stage: tier2 allow_failures: # FIXME: android build bots time out irregularly - env: TARGET=aarch64-linux-android - env: TARGET=arm-linux-androideabi # FIXME: https://github.com/rust-lang/libc/issues/1226 - env: TARGET=asmjs-unknown-emscripten - env: TARGET=wasm32-unknown-emscripten - name: "Semver Linux" - name: "Semver MacOSX" install: travis_retry rustup target add $TARGET script: - cargo generate-lockfile --manifest-path libc-test/Cargo.toml - if [[ $TRAVIS_OS_NAME = "linux" ]] && [[ $BUILD_ONLY != "1" ]]; then sh ci/run-docker.sh $TARGET; else sh ci/run.sh $TARGET; fi env: global: secure: "e2/3QjgRN9atOuSHp22TrYG7QVKcYUWY48Hi9b60w+r1+BhPkTseIJLte7WefRhdXtqpjjUJTooKDhnurFOeHaCT+nmBgiv+FPU893sBl4bhesY4m0vgUJVbNZcs6lTImYekWVb+aqjGdgV/XAgCw7c3kPmrZV0MzGDWL64Xaps=" notifications: email: on_success: never