summaryrefslogtreecommitdiff
path: root/libc/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to 'libc/.travis.yml')
-rw-r--r--libc/.travis.yml277
1 files changed, 211 insertions, 66 deletions
diff --git a/libc/.travis.yml b/libc/.travis.yml
index 52d2403..1fa0a8d 100644
--- a/libc/.travis.yml
+++ b/libc/.travis.yml
@@ -1,108 +1,253 @@
language: rust
-rust: stable
+rust: nightly
sudo: required
dist: xenial
services: docker
+stages:
+ - tools-and-build-and-tier1
+ - tier2
+
matrix:
include:
- # 1.13.0 compat
- - env: TARGET=x86_64-unknown-linux-gnu
- rust: 1.13.0
- script: rm -f Cargo.lock && cargo build
+ # 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 documentation
- - env: TARGET=x86_64-unknown-linux-gnu
+ # 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
- script: sh ci/dox.sh
+ 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
-
- # stable compat
- - env: TARGET=x86_64-unknown-linux-gnu
+ - name: "Build Beta Rust"
+ script: sh ci/build.sh
+ stage: tools-and-build-and-tier1
+ rust: beta
+ os: osx
+ osx_image: xcode10
install: true
- - env: TARGET=i686-unknown-linux-gnu
- - os: osx
- env: TARGET=x86_64-apple-darwin
+ - name: "Build Nightly Rust"
+ script: sh ci/build.sh
+ stage: tools-and-build-and-tier1
+ rust: nightly
+ os: osx
osx_image: xcode10
install: true
- - os: osx
- env: TARGET=i686-apple-darwin
+ - 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
- - env: TARGET=arm-linux-androideabi
+ 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
- # FIXME(#826) should reenable
- #- env: TARGET=i686-linux-android
- - env: TARGET=x86_64-linux-android
- - env: TARGET=x86_64-unknown-linux-musl
- - env: TARGET=i686-unknown-linux-musl
- - env: TARGET=arm-unknown-linux-gnueabihf
- - env: TARGET=arm-unknown-linux-musleabihf
+ stage: tier2
- env: TARGET=aarch64-unknown-linux-gnu
+ stage: tier2
- env: TARGET=aarch64-unknown-linux-musl
- - env: TARGET=powerpc-unknown-linux-gnu
- - env: TARGET=powerpc64-unknown-linux-gnu
- - env: TARGET=powerpc64le-unknown-linux-gnu
+ 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
- - env: TARGET=mipsel-unknown-linux-musl
+ stage: tier2
- env: TARGET=mips64-unknown-linux-gnuabi64
+ stage: tier2
- env: TARGET=mips64el-unknown-linux-gnuabi64
- - env: TARGET=mips-unknown-linux-gnu
+ 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
- - env: TARGET=asmjs-unknown-emscripten
+ stage: tier2
- env: TARGET=wasm32-unknown-emscripten
-
- # beta
- - env: TARGET=x86_64-unknown-linux-gnu
- rust: beta
- install: true
- - os: osx
- env: TARGET=x86_64-apple-darwin
- osx_image: xcode10
- rust: beta
- install: true
-
- # nightly
- - env: TARGET=x86_64-unknown-linux-gnu
- rust: nightly
- install: true
- - os: osx
- env: TARGET=x86_64-apple-darwin
- osx_image: xcode10
- rust: nightly
- install: true
- # not available on stable
- # without --release the build fails
- # see https://github.com/rust-lang/rust/issues/45417
+ 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
-
- - env: TARGET=wasm32-unknown-unknown
- install: rustup target add $TARGET
- script: cargo build --no-default-features --target $TARGET --release
-
- - name: "Shellcheck"
- install: true
+ 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:
- - shellcheck --version
- - shellcheck ci/*.sh
+ - 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
-install: rustup target add $TARGET
script:
- cargo generate-lockfile --manifest-path libc-test/Cargo.toml
- - if [[ $TRAVIS_OS_NAME = "linux" ]]; then
+ - if [[ $TRAVIS_OS_NAME = "linux" ]] && [[ $BUILD_ONLY != "1" ]]; then
sh ci/run-docker.sh $TARGET;
else
- export CARGO_TARGET_DIR=`pwd`/target;
sh ci/run.sh $TARGET;
fi
- - rustc ci/style.rs && ./style src
env:
global:
secure: "e2/3QjgRN9atOuSHp22TrYG7QVKcYUWY48Hi9b60w+r1+BhPkTseIJLte7WefRhdXtqpjjUJTooKDhnurFOeHaCT+nmBgiv+FPU893sBl4bhesY4m0vgUJVbNZcs6lTImYekWVb+aqjGdgV/XAgCw7c3kPmrZV0MzGDWL64Xaps="