]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
Merge pull request #55 from miguelraz/min-panics
[rust.git] / .travis.yml
index 0bd9760ab0ae1a3d621c8c91dfdaf44b08ccec10..c1fda2e4f1705bb649bb02592a5bfae6ba8b6987 100644 (file)
@@ -5,233 +5,74 @@ rust:
 matrix:
   fast_finish: true
   include:
-    # Linux (x86_64)
-
-    - name: "x86_64-unknown-linux-gnu"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-
-    - name: "x86_64-unknown-linux-gnu+sse"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=sse
-
-    - name: "x86_64-unknown-linux-gnu+sse2"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=sse2
-
-    - name: "x86_64-unknown-linux-gnu+sse3"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=sse3
-
-    - name: "x86_64-unknown-linux-gnu+sse4.1"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=sse4.1
-
-    - name: "x86_64-unknown-linux-gnu+sse4.2"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=sse4.2
-
-    - name: "x86_64-unknown-linux-gnu+avx"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=avx
-
-    - name: "x86_64-unknown-linux-gnu+avx2"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=avx2
-
-    - name: "x86_64-unknown-linux-gnu+avx512vl"
-      os: linux
-      arch: amd64
-      env:
-        - TARGET=x86_64-unknown-linux-gnu
-        - TARGET_FEATURE=avx512vl
-
     # Linux (aarch64)
-
-    - name: "aarch64-unknown-linux-gnu"
+    - name: "aarch64-unknown-linux-gnu (neon)"
       os: linux
       arch: arm64
-      env:
-        - TARGET=aarch64-unknown-linux-gnu
 
-    - name: "aarch64-unknown-linux-gnu+neon"
+    - name: "aarch64-unknown-linux-gnu (neon, sve)"
       os: linux
       arch: arm64
-      env:
-        - TARGET=aarch64-unknown-linux-gnu
-        - TARGET_FEATURE=neon
+      env: RUSTFLAGS=-Ctarget-feature=+sve
 
-    - name: "aarch64-unknown-linux-gnu+sve"
+    - name: "aarch64-unknown-linux-gnu (native, see log for cfg)"
       os: linux
       arch: arm64
-      env:
-        - TARGET=aarch64-unknown-linux-gnu
-        - TARGET_FEATURE=sve
+      env: RUSTFLAGS=-Ctarget-cpu=native
 
-    # Linux (powerpc64)
-
-    - name: "powerpc64le-unknown-linux-gnu"
+    # Linux (powerpc64le)
+    - name: "powerpc64le-unknown-linux-gnu (altivec, vsx, power8-*)"
       os: linux
       arch: ppc64le
-      env:
-        - TARGET=powerpc64le-unknown-linux-gnu
 
-    - name: "powerpc64le-unknown-linux-gnu+vsx"
+    - name: "powerpc64le-unknown-linux-gnu (native, see log for cfg)"
       os: linux
       arch: ppc64le
-      env:
-        - TARGET=powerpc64le-unknown-linux-gnu
-        - TARGET_FEATURE=vsx
-
-    # Windows (x86_64)
+      env: RUSTFLAGS=-Ctarget-cpu=native
 
-    - name: "x86_64-pc-windows-msvc"
-      os: windows
-      arch: amd64
-      env: TARGET=x86_64-pc-windows-msvc
-    
-    # Windows (i686)
-
-    - name: "i686-pc-windows-msvc"
-      os: windows
-      env: TARGET=i686-pc-windows-msvc
-
-    - name: "i686-pc-windows-msvc+sse"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i686-pc-windows-msvc
-        - TARGET_FEATURE=sse
-
-    - name: "i686-pc-windows-msvc+sse2"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i686-pc-windows-msvc
-        - TARGET_FEATURE=sse2
-
-    - name: "i686-pc-windows-msvc+sse3"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i686-pc-windows-msvc
-        - TARGET_FEATURE=sse3
-
-    - name: "i686-pc-windows-msvc+sse4.1"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i686-pc-windows-msvc
-        - TARGET_FEATURE=sse4.1
-
-    - name: "i686-pc-windows-msvc+sse4.2"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i686-pc-windows-msvc
-        - TARGET_FEATURE=sse4.2
-
-    - name: "i686-pc-windows-msvc+avx"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i686-pc-windows-msvc
-        - TARGET_FEATURE=avx
-
-    - name: "i686-pc-windows-msvc+avx2"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i686-pc-windows-msvc
-        - TARGET_FEATURE=avx2
-
-    # Windows (i586)
-
-    - name: "i586-pc-windows-msvc"
-      os: windows
-      env: TARGET=i586-pc-windows-msvc
-
-    - name: "i586-pc-windows-msvc+sse"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i586-pc-windows-msvc
-        - TARGET_FEATURE=sse
-
-    - name: "i586-pc-windows-msvc+sse2"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i586-pc-windows-msvc
-        - TARGET_FEATURE=sse2
-
-    - name: "i586-pc-windows-msvc+sse3"
-      os: windows
+    # Linux (x86_64) (for AVX512, which sadly seems to only *usually* be present
+    # on the github actions linux runner...)
+    - name: "x86_64-unknown-linux-gnu+avx512vl"
+      os: linux
       arch: amd64
-      env:
-        - TARGET=i586-pc-windows-msvc
-        - TARGET_FEATURE=sse3
+      env: RUSTFLAGS=-Ctarget-feature=+avx512vl
 
-    - name: "i586-pc-windows-msvc+sse4.1"
-      os: windows
+    # WebAssembly (wasm-bindgen)
+    - name: "wasm32-unknown-unknown (node, firefox, chrome)"
+      os: linux
       arch: amd64
-      env:
-        - TARGET=i586-pc-windows-msvc
-        - TARGET_FEATURE=sse4.1
+      addons:
+        firefox: latest
+        chrome: stable
+      install:
+        - curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
+      script:
+        - wasm-pack test --node --firefox --chrome --headless crates/core_simd
+        - wasm-pack test --node --firefox --chrome --headless crates/core_simd --release
 
-    - name: "i586-pc-windows-msvc+sse4.2"
-      os: windows
+    - name: "wasm32-unknown-unknown+simd128 (chrome)"
+      os: linux
       arch: amd64
-      env:
-        - TARGET=i586-pc-windows-msvc
-        - TARGET_FEATURE=sse4.2
+      addons:
+        chrome: stable
+      install:
+        - curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
+      script:
+        - export RUSTFLAGS="-C target-feature=+simd128"
+        - wasm-pack test --chrome --headless crates/core_simd
+        - wasm-pack test --chrome --headless crates/core_simd --release
 
-    - name: "i586-pc-windows-msvc+avx"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i586-pc-windows-msvc
-        - TARGET_FEATURE=avx
+script:
+  - echo "## Requested target configuration (RUSTFLAGS=$RUSTFLAGS)"
+  - rustc --print=cfg $RUSTFLAGS
 
-    - name: "i586-pc-windows-msvc+avx2"
-      os: windows
-      arch: amd64
-      env:
-        - TARGET=i586-pc-windows-msvc
-        - TARGET_FEATURE=avx2
+  - echo "## Supported target configuration"
+  - rustc --print=cfg -Ctarget-cpu=native
 
-    # OSX (x86_64)
+  - echo "\n---\n"
 
-    - name: "x86_64-apple-darwin"
-      os: osx
-      arch: amd64
-      env:
-        - TARGET=x86_64-apple-darwin
+  - echo "## Running tests (debug)"
+  - cargo test -v
 
-script:
-  - rustup target add $TARGET
-  - if [ -n "$TARGET_FEATURE" ]; then RUSTFLAGS="-C target-feature=+$TARGET_FEATURE"; fi
-  - cargo test -v --target $TARGET
+  - echo "## Running tests (release)"
+  - cargo test -v --release