name: Rust
on: [push, pull_request]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-18.04
strategy:
matrix:
rust:
- 1.45.0
- stable
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Build with minimal features (no_std)
run: cargo build --verbose --no-default-features --features libm
- name: Run tests without SIMD
run: cargo test --verbose --no-default-features --features png-format
- name: Run tests with simd SSE
env:
RUSTFLAGS: -Ctarget-feature=+sse
run: cargo test --verbose --all-features
- name: Run tests with simd SSE2
env:
RUSTFLAGS: -Ctarget-feature=+sse2
run: cargo test --verbose --all-features
- name: Run tests with simd SSE4.1
env:
RUSTFLAGS: -Ctarget-feature=+sse4.1
run: cargo test --verbose --all-features
- name: Run tests with simd AVX
env:
RUSTFLAGS: -Ctarget-feature=+avx
run: cargo test --verbose --all-features
- name: Run tests with simd AVX2
env:
RUSTFLAGS: -Ctarget-feature=+avx2
run: cargo test --verbose --all-features