name: CI on: pull_request: {} push: branches: main env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-Dwarnings" jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true profile: minimal - run: cargo check build: runs-on: ubuntu-latest strategy: matrix: rust: - 1.47.0 # MSRV - stable target: # - armv7a-none-eabi - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true profile: minimal - run: cargo build --target ${{ matrix.target }} --release --no-default-features - run: cargo build --target ${{ matrix.target }} --release --no-default-features --features num-traits test: runs-on: ubuntu-latest strategy: matrix: include: # 32-bit Linux - target: i686-unknown-linux-gnu rust: 1.47.0 # MSRV deps: sudo apt update && sudo apt install gcc-multilib - target: i686-unknown-linux-gnu rust: stable deps: sudo apt update && sudo apt install gcc-multilib # 64-bit Linux - target: x86_64-unknown-linux-gnu rust: 1.47.0 # MSRV - target: x86_64-unknown-linux-gnu rust: stable steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true profile: minimal - run: ${{ matrix.deps }} - run: cargo test --target ${{ matrix.target }} --release --all-features rustfmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt override: true profile: minimal - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: 1.47.0 # MSRV components: clippy override: true profile: minimal - run: cargo clippy -- -D warnings