1language: rust 2sudo: false 3rust: nightly 4 5stages: 6 - tools 7 - linux-tier1 8 - osx-tier1 9 - osx-tier2 10 - linux-tier2 11 - android 12 13matrix: 14 fast_finish: true 15 include: 16 # Android: 17 - env: TARGET=x86_64-linux-android NOVERIFY=1 18 name: "x86_64-unknown-linux-android + SSE2" 19 stage: android 20 - env: TARGET=arm-linux-androideabi 21 name: "arm-linux-androideabi" 22 stage: android 23 - env: TARGET=arm-linux-androideabi RUSTFLAGS="-C target-feature=+v7,+neon" 24 name: "arm-linux-androideabi + NEON" 25 stage: android 26 - env: TARGET=aarch64-linux-android 27 name: "aarch64-unknown-linux-android" 28 stage: android 29 - env: TARGET=aarch64-linux-android RUSTFLAGS="-C target-feature=+neon" 30 name: "aarch64-unknown-linux-android + NEON" 31 stage: android 32 - env: TARGET="thumbv7neon-linux-androideabi" 33 name: "thumbv7neon-linux-androideabi" 34 stage: android 35 # Linux: 36 - env: TARGET=i586-unknown-linux-gnu 37 name: "i586-unknown-linux-gnu" 38 stage: linux-tier2 39 - env: TARGET=i586-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse" 40 name: "i586-unknown-linux-gnu + SSE" 41 stage: linux-tier2 42 - env: TARGET=i586-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse2" 43 name: "i586-unknown-linux-gnu + SSE2" 44 stage: linux-tier2 45 - env: TARGET=i686-unknown-linux-gnu 46 name: "i686-unknown-linux-gnu + SSE2" 47 stage: linux-tier1 48 - env: TARGET=i686-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse4.2" 49 name: "i686-unknown-linux-gnu + SSE4.2" 50 stage: linux-tier1 51 - env: TARGET=i686-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx2" 52 name: "i686-unknown-linux-gnu + AVX2" 53 stage: linux-tier1 54 - env: TARGET=x86_64-unknown-linux-gnu 55 name: "x86_64-unknown-linux-gnu + SSE2" 56 install: rustup component add rustfmt-preview 57 stage: linux-tier1 58 - env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+sse4.2" 59 name: "x86_64-unknown-linux-gnu + SSE4.2" 60 install: rustup component add rustfmt-preview 61 stage: linux-tier1 62 - env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx" 63 name: "x86_64-unknown-linux-gnu + AVX" 64 install: rustup component add rustfmt-preview 65 stage: linux-tier1 66 - env: TARGET=x86_64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+avx2" 67 name: "x86_64-unknown-linux-gnu + AVX2" 68 install: rustup component add rustfmt-preview 69 stage: linux-tier1 70 - env: TARGET=x86_64-unknown-linux-gnu-emulated 71 name: "Intel SDE + SSE2" 72 install: true 73 stage: linux-tier1 74 - env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+sse4.2" 75 name: "Intel SDE + SSE4.2" 76 install: true 77 stage: linux-tier1 78 - env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+avx" 79 name: "Intel SDE + AVX" 80 install: true 81 stage: linux-tier1 82 - env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+avx2" 83 name: "Intel SDE + AVX2" 84 install: true 85 stage: linux-tier1 86 - env: TARGET=x86_64-unknown-linux-gnu-emulated RUSTFLAGS="-C target-feature=+avx-512f" 87 name: "Intel SDE + AVX-512" 88 install: true 89 stage: linux-tier1 90 - env: TARGET=arm-unknown-linux-gnueabi 91 name: "arm-unknown-linux-gnueabi" 92 stage: linux-tier2 93 - env: TARGET=arm-unknown-linux-gnueabi RUSTFLAGS="-C target-feature=+v7,+neon" 94 name: "arm-unknown-linux-gnueabi + NEON" 95 stage: linux-tier2 96 - env: TARGET=arm-unknown-linux-gnueabihf 97 name: "arm-unknown-linux-gnueabihf" 98 stage: linux-tier2 99 - env: TARGET=arm-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+v7,+neon" 100 name: "arm-unknown-linux-gnueabihf + NEON" 101 stage: linux-tier2 102 - env: TARGET=armv7-unknown-linux-gnueabihf 103 name: "armv7-unknown-linux-gnueabihf" 104 stage: linux-tier2 105 - env: TARGET=armv7-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+neon" 106 name: "armv7-unknown-linux-gnueabihf + NEON" 107 stage: linux-tier2 108 - env: TARGET="thumbv7neon-unknown-linux-gnueabihf" 109 name: "thumbv7neon-unknown-linux-gnueabihf" 110 stage: linux-tier2 111 - env: TARGET=aarch64-unknown-linux-gnu 112 name: "aarch64-unknown-linux-gnu" 113 stage: linux-tier2 114 - env: TARGET=aarch64-unknown-linux-gnu RUSTFLAGS="-C target-feature=+neon" 115 name: "aarch64-unknown-linux-gnu + NEON" 116 stage: linux-tier2 117 - env: TARGET=mips-unknown-linux-gnu 118 name: "mips-unknown-linux-gnu" 119 stage: linux-tier2 120 - env: TARGET=mipsel-unknown-linux-musl 121 name: "mipsel-unknown-linux-musl" 122 stage: linux-tier2 123 - env: TARGET=mips64-unknown-linux-gnuabi64 124 name: "mips64-unknown-linux-gnuabi64" 125 stage: linux-tier2 126 - env: TARGET=mips64el-unknown-linux-gnuabi64 127 name: "mips64el-unknown-linux-gnuabi64" 128 stage: linux-tier2 129 # FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/18 130 # env: TARGET=mips64el-unknown-linux-gnuabi64 RUSTFLAGS="-C target-feature=+msa -C target-cpu=mips64r6" 131 - env: TARGET=powerpc-unknown-linux-gnu 132 name: "powerpc-unknown-linux-gnu" 133 stage: linux-tier2 134 - env: TARGET=powerpc64-unknown-linux-gnu 135 name: "powerpc64-unknown-linux-gnu" 136 stage: linux-tier2 137 - env: TARGET=powerpc64le-unknown-linux-gnu 138 name: "powerpc64le-unknown-linux-gnu" 139 stage: linux-tier2 140 - env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+altivec" 141 name: "powerpc64le-unknown-linux-gnu + ALTIVEC" 142 stage: linux-tier2 143 - env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+vsx" 144 name: "powerpc64le-unknown-linux-gnu + VSX" 145 stage: linux-tier2 146 - env: TARGET=s390x-unknown-linux-gnu 147 name: "s390x-unknown-linux-gnu" 148 stage: linux-tier2 149 - env: TARGET=sparc64-unknown-linux-gnu 150 name: "sparc64-unknown-linux-gnu" 151 stage: linux-tier2 152 # WebAssembly: 153 - env: TARGET=wasm32-unknown-unknown 154 name: "wasm32-unknown-unknown" 155 stage: osx-tier1 # For now 156 # MacOSX: 157 - os: osx 158 env: TARGET=i686-apple-darwin 159 name: "i686-apple-darwin + SSE2" 160 script: ci/run.sh 161 osx_image: xcode10 162 stage: osx-tier1 163 - os: osx 164 env: TARGET=i686-apple-darwin RUSTFLAGS="-C target-feature=+sse4.2" 165 name: "i686-apple-darwin + SSE4.2" 166 script: ci/run.sh 167 osx_image: xcode10 168 stage: osx-tier1 169 # Travis-CI OSX build bots do not support AVX2: 170 - os: osx 171 env: TARGET=i686-apple-darwin RUSTFLAGS="-C target-feature=+avx" 172 name: "i686-apple-darwin + AVX" 173 script: ci/run.sh 174 osx_image: xcode10 175 stage: osx-tier1 176 - os: osx 177 env: TARGET=x86_64-apple-darwin 178 name: "x86_64-apple-darwin + SSE2" 179 install: true 180 script: ci/run.sh 181 osx_image: xcode10 182 stage: osx-tier1 183 - os: osx 184 env: TARGET=x86_64-apple-darwin RUSTFLAGS="-C target-feature=+sse4.2" 185 name: "x86_64-apple-darwin + SSE4.2" 186 install: true 187 script: ci/run.sh 188 osx_image: xcode10 189 stage: osx-tier1 190 # Travis-CI OSX build bots do not support AVX2: 191 - os: osx 192 env: TARGET=x86_64-apple-darwin RUSTFLAGS="-C target-feature=+avx" 193 name: "x86_64-apple-darwin + AVX" 194 install: true 195 script: ci/run.sh 196 osx_image: xcode10 197 stage: osx-tier1 198 # *BSDs: 199 #- env: TARGET=i686-unknown-freebsd NORUN=1 200 # script: ci/run.sh 201 #- env: TARGET=x86_64-unknown-freebsd NORUN=1 202 # script: ci/run.sh 203 #- env: TARGET=x86_64-unknown-netbsd NORUN=1 204 # script: ci/run.sh 205 # Solaris: 206 #- env: TARGET=x86_64-sun-solaris NORUN=1 207 # script: ci/run.sh 208 # iOS: 209 - os: osx 210 env: TARGET=i386-apple-ios 211 name: "i386-apple-ios" 212 script: ci/run.sh 213 osx_image: xcode9.4 214 stage: osx-tier2 215 - os: osx 216 env: TARGET=x86_64-apple-ios 217 name: "x86_64-apple-ios + SSE2" 218 script: ci/run.sh 219 osx_image: xcode9.4 220 stage: osx-tier2 221 - os: osx 222 env: TARGET=armv7-apple-ios NORUN=1 223 name: "armv7-apple-ios [Build only]" 224 script: ci/run.sh 225 osx_image: xcode9.4 226 stage: osx-tier2 227 - os: osx 228 env: TARGET=aarch64-apple-ios NORUN=1 229 name: "aarch64-apple-ios [Build only]" 230 script: ci/run.sh 231 osx_image: xcode9.4 232 stage: osx-tier2 233 # BENCHMARKS: 234 - name: "Benchmarks - x86_64-unknown-linux-gnu" 235 install: TARGET=x86_64-unknown-linux-gnu ./ci/setup_benchmarks.sh 236 script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=core_arch,ispc,sleef-sys ci/benchmark.sh 237 stage: tools 238 - name: "Benchmarks - x86_64-apple-darwin" 239 install: TARGET=x86_64-apple-darwin ./ci/setup_benchmarks.sh 240 script: PATH=$(pwd):$PATH NORUN=1 VERIFY=1 FEATURES=core_arch,ispc,sleef-sys ci/benchmark.sh 241 os: osx 242 osx_image: xcode9.4 243 stage: tools 244 # TOOLS: 245 - name: "Documentation" 246 install: cargo install mdbook 247 script: ci/dox.sh 248 stage: tools 249 - name: "rustfmt" 250 install: true 251 before_script: rustup component add rustfmt-preview 252 script: ci/all.sh check_fmt || true 253 stage: tools 254 - name: "clippy" 255 install: true 256 before_script: rustup component add clippy-preview 257 script: ci/all.sh clippy 258 stage: tools 259 260 allow_failures: 261 # FIXME: ISPC cannot be found? 262 - name: "Benchmarks - x86_64-apple-darwin" 263 # FIXME: TBD 264 - env: TARGET=powerpc-unknown-linux-gnu 265 - env: TARGET=powerpc64-unknown-linux-gnu 266 - env: TARGET=powerpc64le-unknown-linux-gnu 267 - env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+altivec" 268 - env: TARGET=powerpc64le-unknown-linux-gnu RUSTFLAGS="-C target-feature=+vsx" 269 #- env: TARGET=i686-unknown-freebsd NORUN=1 270 #- env: TARGET=x86_64-unknown-freebsd NORUN=1 271 #- env: TARGET=x86_64-unknown-netbsd NORUN=1 272 #- env: TARGET=x86_64-sun-solaris NORUN=1 273 274 # FIXME: TBD 275 - env: TARGET=arm-linux-androideabi 276 - env: TARGET=arm-linux-androideabi RUSTFLAGS="-C target-feature=+v7,+neon" 277 - env: TARGET=aarch64-linux-android 278 - env: TARGET=aarch64-linux-android RUSTFLAGS="-C target-feature=+neon" 279 280 # FIXME: iOS 281 # https://github.com/rust-lang-nursery/packed_simd/issues/26 282 - env: TARGET=i386-apple-ios 283 - env: TARGET=x86_64-apple-ios 284 285 # FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/182 286 - env: TARGET=arm-unknown-linux-gnueabi RUSTFLAGS="-C target-feature=+v7,+neon" 287 - env: TARGET=arm-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+v7,+neon" 288 - env: TARGET=armv7-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+neon" 289 290 # FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/183 291 - env: TARGET=wasm32-unknown-unknown 292 293install: travis_retry rustup target add $TARGET 294before_script: cargo generate-lockfile 295script: travis_wait 50 ci/run-docker.sh 296after_script: sleep 5 297 298env: 299 global: 300 secure: "lPHv7s6+AxQYNaFncycVFQt++Y1asQmMhOikQU1ztlP8CK7+hn2m98cg/euOJyzIOb2iJ3ZX4cGZkzw4lc59MQBByb1GtDbazQoUOzVDbVfe9BDD2f8JVoIFh1CMfjPKQ7Gg/rJqWlwrUlSd5GNxPCutKjY7qZhJuR6SQbJjlWaGN2Vd4fVCzKXz8fHRXgMEZS+d+CR4Nsrkb83J3Z4s5kSdJmhYxJ61AWjuzJVwUh4l3/HEYlSL5XXpuh5R2i7W16h1PlNdaTUgkZli1lHzO8+6Q8LzX9+XiLIEVX9lw3A2NdIKGz8E/+7Qs5oYOkwYhjROsDQxIK7xkSM30bQuN7cwMBybAVIyOPJkqXQ1dQyp83KSdsOj7JMyDDRvcEDLI6ehRlm5EcdH7YrReuboN81iUo0Sa7VsuUmgj5hjERCt9r30f9aWuitABai7vKRtjglg7Sp5CrEVPA4PQs6PqKCCRogoggbXJ/Z5Dyw/RZaXPeNR9+qIKN1Vjm9Gew1sRN2JK/3+vXTKtyJXH/uBxgJt4jQlbuShOJuF+BSfTF88sMe67a/357SSOIb4JkaCyd0flDCWYE8576kaHPlVVMT2peXee0LeRXm1e13nG3Na0t3LS/orJLPHOShNQGoDj7qAP5aEKggRya896JGwtvlaBHHTmSQh65G7cyNErZo=" 301branches: 302 only: 303 - staging # bors r+ 304 - trying # bors try 305 - master 306notifications: 307 email: 308 on_success: never 309