Skip to content
Snippets Groups Projects
.travis.yml 7.37 KiB
Newer Older
Alex Crichton's avatar
Alex Crichton committed
language: rust
gnzlbg's avatar
gnzlbg committed
rust: nightly
sudo: required
gnzlbg's avatar
gnzlbg committed
services: docker

gnzlbg's avatar
gnzlbg committed
stages:
  - tools-and-build-and-tier1
  - tier2

matrix:
  include:
gnzlbg's avatar
gnzlbg committed
    # TOOLS
    - name: "Documentation"
      env: TARGET=x86_64-unknown-linux-gnu
      script: sh ci/dox.sh
gnzlbg's avatar
gnzlbg committed
      install:
        - travis_retry rustup component add rust-src
        - travis_retry cargo install xargo
gnzlbg's avatar
gnzlbg committed
      stage: tools-and-build-and-tier1
    - name: "Shellcheck"
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
      script:
        - shellcheck --version
        - shellcheck ci/*.sh
      stage: tools-and-build-and-tier1
    - name: "Style"
      install: true
gnzlbg's avatar
gnzlbg committed
      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
gnzlbg's avatar
gnzlbg committed
      stage: tools-and-build-and-tier1
gnzlbg's avatar
gnzlbg committed
    - name: "Semver Linux"
gnzlbg's avatar
gnzlbg committed
      install: travis_retry cargo +nightly install semverver
      script: sh ci/semver.sh
      stage: tools-and-build-and-tier1
gnzlbg's avatar
gnzlbg committed
    - name: "Semver MacOSX"
gnzlbg's avatar
gnzlbg committed
      install: travis_retry cargo +nightly install semverver
      script: sh ci/semver.sh
      os: osx
      osx_image: xcode10
      stage: tools-and-build-and-tier1
gnzlbg's avatar
gnzlbg committed

    # BUILD stable, beta, nightly
    - name: "Build Stable Rust"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: stable
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Beta Rust"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: beta
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - 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
gnzlbg's avatar
gnzlbg committed
    - name: "Build Stable Rust"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: stable
      os: osx
gnzlbg's avatar
gnzlbg committed
      osx_image: xcode10
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Beta Rust"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: beta
      os: osx
gnzlbg's avatar
gnzlbg committed
      osx_image: xcode10
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Nightly Rust"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: nightly
      os: osx
      osx_image: xcode10
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Stable Rust 1.13.0"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: 1.13.0
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Stable Rust 1.19.0"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: 1.19.0
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Stable Rust 1.24.0"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: 1.24.0
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Stable Rust 1.25.0"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: 1.25.0
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - name: "Build Stable Rust 1.30.0"
      script: sh ci/build.sh
      stage: tools-and-build-and-tier1
      rust: 1.30.0
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - 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
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - 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
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - 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
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - 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
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - 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
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
    - 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
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed
      stage: tools-and-build-and-tier1
    - env: TARGET=x86_64-unknown-linux-gnu
      stage: tools-and-build-and-tier1
gnzlbg's avatar
gnzlbg committed
      install: true
gnzlbg's avatar
gnzlbg committed

    # Tier 2 targets
    - env: TARGET=aarch64-linux-android
gnzlbg's avatar
gnzlbg committed
      stage: tier2
    - env: TARGET=aarch64-unknown-linux-gnu
gnzlbg's avatar
gnzlbg committed
      stage: tier2
    - env: TARGET=aarch64-unknown-linux-musl
gnzlbg's avatar
gnzlbg committed
      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-linux-android
      stage: tier2
gnzlbg's avatar
gnzlbg committed
    - env: TARGET=i686-unknown-linux-musl
      stage: tier2
    - env: TARGET=mips-unknown-linux-gnu
      stage: tier2
    - env: TARGET=mips-unknown-linux-musl
gnzlbg's avatar
gnzlbg committed
      stage: tier2
    - env: TARGET=mips64-unknown-linux-gnuabi64
gnzlbg's avatar
gnzlbg committed
      stage: tier2
Marco A L Barbosa's avatar
Marco A L Barbosa committed
    - env: TARGET=mips64el-unknown-linux-gnuabi64
gnzlbg's avatar
gnzlbg committed
      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
gnzlbg's avatar
gnzlbg committed
      stage: tier2
    - env: TARGET=sparc64-unknown-linux-gnu
gnzlbg's avatar
gnzlbg committed
      stage: tier2
Alex Crichton's avatar
Alex Crichton committed
    - env: TARGET=wasm32-unknown-emscripten
gnzlbg's avatar
gnzlbg committed
      stage: tier2
    - env: TARGET=x86_64-linux-android
      stage: tier2
    - env: TARGET=x86_64-unknown-linux-gnux32 OPT="--release"
gnzlbg's avatar
gnzlbg committed
      stage: tier2
    - env: TARGET=x86_64-unknown-linux-musl
      stage: tier2
    - env: TARGET=wasm32-wasi
      rust: nightly
      stage: tier2
leo60228's avatar
leo60228 committed
    - 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

gnzlbg's avatar
gnzlbg committed

  allow_failures:
      # FIXME: https://github.com/rust-lang/libc/issues/1226
      - env: TARGET=asmjs-unknown-emscripten
      - env: TARGET=wasm32-unknown-emscripten
gnzlbg's avatar
gnzlbg committed
      - name: "Semver Linux"
      - name: "Semver MacOSX"
gnzlbg's avatar
gnzlbg committed
install: travis_retry rustup target add $TARGET
gnzlbg's avatar
gnzlbg committed
script:
  - cargo generate-lockfile --manifest-path libc-test/Cargo.toml
gnzlbg's avatar
gnzlbg committed
  - if [[ $TRAVIS_OS_NAME = "linux" ]] && [[ $BUILD_ONLY != "1" ]]; then
gnzlbg's avatar
gnzlbg committed
      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