1language: rust 2rust: nightly 3os: linux 4dist: focal 5 6stages: 7 - tools 8 - build-test-verify # Passes full test suite, permit no regressions (unless it's rustup :/) 9 - 32bit-tier1 10 - 64bit-tier2 11 - 32bit-tier2 12 13jobs: 14 fast_finish: true 15 include: 16 # Android: 17 - env: TARGET=x86_64-linux-android 18 name: "x86_64-unknown-linux-android + SSE2" 19 stage: build-test-verify 20 - env: TARGET=arm-linux-androideabi 21 name: "arm-linux-androideabi" 22 stage: build-test-verify 23 - env: TARGET=arm-linux-androideabi RUSTFLAGS="-C target-feature=+v7,+neon" 24 name: "arm-linux-androideabi + NEON" 25 stage: build-test-verify 26 - name: "aarch64-unknown-linux-android + NEON" 27 env: TARGET=aarch64-linux-android RUSTFLAGS="-C target-feature=+neon" 28 stage: build-test-verify 29 - env: TARGET="thumbv7neon-linux-androideabi" 30 name: "thumbv7neon-linux-androideabi" 31 stage: 32bit-tier2 32 # Linux: 33 - env: TARGET=i586-unknown-linux-gnu 34 name: "i586-unknown-linux-gnu" 35 stage: 32bit-tier2 36 - env: TARGET=i586-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse" 37 name: "i586-unknown-linux-gnu + SSE" 38 stage: 32bit-tier2 39 - env: TARGET=i586-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse2" 40 name: "i586-unknown-linux-gnu + SSE2" 41 stage: 32bit-tier2 42 - env: TARGET=i686-unknown-linux-gnu 43 name: "i686-unknown-linux-gnu + SSE2" 44 stage: 32bit-tier1 45 - env: TARGET=i686-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse4.2" 46 name: "i686-unknown-linux-gnu + SSE4.2" 47 stage: 32bit-tier1 48 - env: TARGET=i686-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx2" 49 name: "i686-unknown-linux-gnu + AVX2" 50 stage: 32bit-tier1 51 - env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse4.2" 52 name: "x86_64-unknown-linux-gnu + SSE4.2" 53 install: rustup component add rustfmt-preview 54 stage: build-test-verify 55 - env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx2" 56 name: "x86_64-unknown-linux-gnu + AVX2" 57 install: rustup component add rustfmt-preview 58 stage: build-test-verify 59 - env: TARGET=arm-unknown-linux-gnueabi RUSTFLAGS="-C target-feature=+v7,+neon" 60 name: "arm-unknown-linux-gnueabi + NEON" 61 stage: build-test-verify 62 - env: TARGET=arm-unknown-linux-gnueabihf 63 name: "arm-unknown-linux-gnueabihf" 64 stage: build-test-verify 65 - env: TARGET=arm-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+v7,+neon" 66 name: "arm-unknown-linux-gnueabihf + NEON" 67 stage: build-test-verify 68 - env: TARGET=armv7-unknown-linux-gnueabihf 69 name: "armv7-unknown-linux-gnueabihf" 70 stage: build-test-verify 71 - env: TARGET=armv7-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+neon" 72 name: "armv7-unknown-linux-gnueabihf + NEON" 73 stage: build-test-verify 74 - env: TARGET="thumbv7neon-unknown-linux-gnueabihf" 75 name: "thumbv7neon-unknown-linux-gnueabihf" 76 stage: 32bit-tier2 77 - name: "aarch64-unknown-linux-gnu + NEON" 78 env: TARGET=aarch64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+neon" 79 stage: build-test-verify 80 - env: TARGET=mips-unknown-linux-gnu 81 name: "mips-unknown-linux-gnu" 82 stage: 32bit-tier2 83 - env: TARGET=mipsel-unknown-linux-musl 84 name: "mipsel-unknown-linux-musl" 85 stage: 32bit-tier2 86 - env: TARGET=mips64-unknown-linux-gnuabi64 87 name: "mips64-unknown-linux-gnuabi64" 88 stage: 64bit-tier2 89 - env: TARGET=mips64el-unknown-linux-gnuabi64 90 name: "mips64el-unknown-linux-gnuabi64" 91 stage: 64bit-tier2 92 # FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/18 93 # env: TARGET=mips64el-unknown-linux-gnuabi64 RUSTFLAGS="-C target-feature=+msa -C target-cpu=mips64r6" 94 - env: TARGET=powerpc-unknown-linux-gnu 95 name: "powerpc-unknown-linux-gnu" 96 stage: 32bit-tier2 97 - env: TARGET=powerpc64-unknown-linux-gnu 98 name: "powerpc64-unknown-linux-gnu" 99 stage: 64bit-tier2 100 - name: "powerpc64le-unknown-linux-gnu" 101 env: TARGET=powerpc64le-unknown-linux-gnu 102 stage: build-test-verify 103 - name: "powerpc64le-unknown-linux-gnu + ALTIVEC" 104 env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+altivec" 105 stage: build-test-verify 106 - name: "powerpc64le-unknown-linux-gnu + VSX" 107 env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+vsx" 108 stage: build-test-verify 109 - name: "s390x-unknown-linux-gnu" 110 env: TARGET=s390x-unknown-linux-gnu 111 stage: 64bit-tier2 112 - env: TARGET=sparc64-unknown-linux-gnu 113 name: "sparc64-unknown-linux-gnu" 114 stage: 64bit-tier2 115 # WebAssembly: 116 - env: TARGET=wasm32-unknown-unknown 117 name: "wasm32-unknown-unknown" 118 stage: 32bit-tier2 119 # MacOSX: 120 - os: osx 121 env: TARGET=x86_64-apple-darwin RUSTFLAGS="-C target-feature=+sse4.2" 122 name: "x86_64-apple-darwin + SSE4.2" 123 install: true 124 script: ci/run.sh 125 osx_image: xcode10 126 stage: build-test-verify 127 # Travis-CI OSX build bots do not support AVX2: 128 - os: osx 129 env: TARGET=x86_64-apple-darwin RUSTFLAGS="-C target-feature=+avx" 130 name: "x86_64-apple-darwin + AVX" 131 install: true 132 script: ci/run.sh 133 osx_image: xcode10 134 stage: build-test-verify 135 # *BSDs: 136 #- env: TARGET=i686-unknown-freebsd NORUN=1 137 # script: ci/run.sh 138 #- env: TARGET=x86_64-unknown-freebsd NORUN=1 139 # script: ci/run.sh 140 #- env: TARGET=x86_64-unknown-netbsd NORUN=1 141 # script: ci/run.sh 142 # Solaris: 143 #- env: TARGET=x86_64-sun-solaris NORUN=1 144 # script: ci/run.sh 145 # iOS: 146 - os: osx 147 env: TARGET=x86_64-apple-ios 148 name: "x86_64-apple-ios + SSE2" 149 script: ci/run.sh 150 osx_image: xcode9.4 151 stage: 64bit-tier2 152 - name: "aarch64-apple-ios + NEON" 153 env: TARGET=aarch64-apple-ios RUSTFLAGS="-C target-feature=+neon" 154 os: osx 155 osx_image: xcode9.4 156 script: ci/run.sh 157 stage: 64bit-tier2 158 # BENCHMARKS: 159 - name: "Benchmarks - x86_64-unknown-linux-gnu" 160 install: TARGET=x86_64-unknown-linux-gnu ./ci/setup_benchmarks.sh 161 # FIXME: Use `core_arch,sleef-sys` features once they works again 162 script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=ispc ci/benchmark.sh 163 stage: tools 164 - name: "Benchmarks - x86_64-apple-darwin" 165 install: TARGET=x86_64-apple-darwin ./ci/setup_benchmarks.sh 166 # FIXME: Use `core_arch,sleef-sys` features once they works again 167 script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=ispc ci/benchmark.sh 168 os: osx 169 osx_image: xcode9.4 170 stage: tools 171 # TOOLS: 172 - name: "Documentation" 173 before_install: 174 - sudo add-apt-repository -y ppa:deadsnakes/ppa 175 - sudo apt-get update -y 176 - sudo apt-get install -y python3.9 177 install: 178 - cargo install mdbook 179 script: ci/dox.sh 180 stage: tools 181 - name: "rustfmt" 182 install: true 183 script: | 184 if rustup component add rustfmt-preview ; then 185 ci/all.sh check_fmt || true 186 fi 187 stage: tools 188 - name: "clippy" 189 install: true 190 script: | 191 if rustup component add clippy-preview ; then 192 ci/all.sh clippy 193 fi 194 stage: tools 195 196 allow_failures: 197 # FIXME: ISPC cannot be found? 198 - name: "Benchmarks - x86_64-apple-darwin" 199 # FIXME: i686 fails in inlining, apparently 200 - stage: 32bit-tier1 201 #- env: TARGET=i686-unknown-freebsd NORUN=1 202 #- env: TARGET=x86_64-unknown-freebsd NORUN=1 203 #- env: TARGET=x86_64-unknown-netbsd NORUN=1 204 #- env: TARGET=x86_64-sun-solaris NORUN=1 205 206 # FIXME: TBD 207 - stage: 64bit-tier2 208 - stage: 32bit-tier2 209 210 # FIXME: iOS 211 # https://github.com/rust-lang-nursery/packed_simd/issues/26 212 - env: TARGET=x86_64-apple-ios 213 # Is this related to the above? Mysterious test failure 214 - name: "aarch64-apple-ios + NEON" 215 216 # FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/182 217 - env: TARGET=arm-unknown-linux-gnueabi RUSTFLAGS="-C target-feature=+v7,+neon" 218 - env: TARGET=arm-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+v7,+neon" 219 - env: TARGET=armv7-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+neon" 220 221 # FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/183 222 - env: TARGET=wasm32-unknown-unknown 223 224install: travis_retry rustup target add $TARGET 225before_script: cargo generate-lockfile 226script: travis_wait 50 ci/run-docker.sh 227after_script: sleep 5 228 229env: 230 global: 231 secure: "lPHv7s6+AxQYNaFncycVFQt++Y1asQmMhOikQU1ztlP8CK7+hn2m98cg/euOJyzIOb2iJ3ZX4cGZkzw4lc59MQBByb1GtDbazQoUOzVDbVfe9BDD2f8JVoIFh1CMfjPKQ7Gg/rJqWlwrUlSd5GNxPCutKjY7qZhJuR6SQbJjlWaGN2Vd4fVCzKXz8fHRXgMEZS+d+CR4Nsrkb83J3Z4s5kSdJmhYxJ61AWjuzJVwUh4l3/HEYlSL5XXpuh5R2i7W16h1PlNdaTUgkZli1lHzO8+6Q8LzX9+XiLIEVX9lw3A2NdIKGz8E/+7Qs5oYOkwYhjROsDQxIK7xkSM30bQuN7cwMBybAVIyOPJkqXQ1dQyp83KSdsOj7JMyDDRvcEDLI6ehRlm5EcdH7YrReuboN81iUo0Sa7VsuUmgj5hjERCt9r30f9aWuitABai7vKRtjglg7Sp5CrEVPA4PQs6PqKCCRogoggbXJ/Z5Dyw/RZaXPeNR9+qIKN1Vjm9Gew1sRN2JK/3+vXTKtyJXH/uBxgJt4jQlbuShOJuF+BSfTF88sMe67a/357SSOIb4JkaCyd0flDCWYE8576kaHPlVVMT2peXee0LeRXm1e13nG3Na0t3LS/orJLPHOShNQGoDj7qAP5aEKggRya896JGwtvlaBHHTmSQh65G7cyNErZo=" 232branches: 233 only: 234 - staging # bors r+ 235 - trying # bors try 236 - master 237notifications: 238 email: 239 on_success: never 240