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 - env: TARGET=wasm32-wasi rust: nightly stage: tier2 - name: "Nintendo Switch - build libcore only" rust: nightly stage: tier2 install: - rustup component add rust-src - (test -x $HOME/.cargo/bin/cargo-xbuild || cargo install cargo-xbuild) script: - mkdir -p target - cd target - wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb - sudo dpkg -i devkitpro-pacman.deb - sudo dkp-pacman -Sy - sudo dkp-pacman -Syu - sudo dkp-pacman -S -v --noconfirm switch-dev devkitA64 - export PATH="$PATH:/opt/devkitpro/devkitA64/bin" - export PATH="$PATH:/opt/devkitpro/tools/bin" - cd .. # Pull the target spec up into the current directory and then build - mv ci/switch.json switch.json - cargo xbuild --target switch.json 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