diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c13246e..deee3e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,110 +67,110 @@ jobs: $HOME/.cargo/bin/cargo test --release --features portable --target ${{ matrix.target }} echo "vmx: four" -# # Linux tests -# linux: -# needs: set-msrv -# strategy: -# matrix: -# include: -# # 32-bit Linux/x86 -# - target: i686-unknown-linux-gnu -# rust: ${{needs.set-msrv.outputs.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/x86_64 -# - target: x86_64-unknown-linux-gnu -# rust: ${{needs.set-msrv.outputs.msrv}} -# - target: x86_64-unknown-linux-gnu -# rust: stable -# -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v4 -# - uses: dtolnay/rust-toolchain@master -# with: -# toolchain: ${{ matrix.rust }} -# target: ${{ matrix.target }} -# - name: Install opencl -# run: sudo apt-get install -y ocl-icd-opencl-dev -# - run: ${{ matrix.deps }} -# - run: cargo test --target ${{ matrix.target }} -# - run: cargo test --target ${{ matrix.target }} --features portable -# -# # macOS tests -# macos: -# needs: set-msrv -# strategy: -# matrix: -# toolchain: -# - ${{needs.set-msrv.outputs.msrv}} -# - stable -# -# runs-on: macos-latest -# steps: -# - uses: actions/checkout@v4 -# - uses: dtolnay/rust-toolchain@master -# with: -# toolchain: ${{ matrix.rust }} -# target: x86_64-apple-darwin -# - run: cargo test -# - run: cargo test --features portable -# -# # Windows tests -# windows: -# needs: set-msrv -# strategy: -# matrix: -# include: -# # 64-bit Windows (MSVC) -# - target: x86_64-pc-windows-msvc -# toolchain: stable -# -# runs-on: windows-latest -# steps: -# - uses: actions/checkout@v4 -# - uses: dtolnay/rust-toolchain@master -# with: -# toolchain: ${{ matrix.rust }} -# target: ${{ matrix.target }} -# - uses: msys2/setup-msys2@v2 -# - run: cargo test --target ${{ matrix.target }} -# - run: cargo test --target ${{ matrix.target }} --features portable -# -# clippy_check: -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v4 -# - uses: dtolnay/rust-toolchain@master -# with: -# toolchain: ${{ matrix.rust }} -# components: clippy -# - name: Clippy -# run: cargo clippy --all-features -# -# check_fmt_and_docs: -# name: Checking fmt and docs -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v4 -# -# - uses: dtolnay/rust-toolchain@master -# with: -# toolchain: ${{ matrix.rust }} -# components: rustfmt -# -# - name: setup -# run: | -# rustup component add rustfmt -# rustc --version -# - name: fmt -# run: cargo fmt --all -- --check -# -# - name: Docs -# run: cargo doc + # Linux tests + linux: + needs: set-msrv + strategy: + matrix: + include: + # 32-bit Linux/x86 + - target: i686-unknown-linux-gnu + rust: ${{needs.set-msrv.outputs.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/x86_64 + - target: x86_64-unknown-linux-gnu + rust: ${{needs.set-msrv.outputs.msrv}} + - target: x86_64-unknown-linux-gnu + rust: stable + + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + - name: Install opencl + run: sudo apt-get install -y ocl-icd-opencl-dev + - run: ${{ matrix.deps }} + - run: cargo test --target ${{ matrix.target }} + - run: cargo test --target ${{ matrix.target }} --features portable + + # macOS tests + macos: + needs: set-msrv + strategy: + matrix: + toolchain: + - ${{needs.set-msrv.outputs.msrv}} + - stable + + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + target: x86_64-apple-darwin + - run: cargo test + - run: cargo test --features portable + + # Windows tests + windows: + needs: set-msrv + strategy: + matrix: + include: + # 64-bit Windows (MSVC) + - target: x86_64-pc-windows-msvc + toolchain: stable + + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + - uses: msys2/setup-msys2@v2 + - run: cargo test --target ${{ matrix.target }} + - run: cargo test --target ${{ matrix.target }} --features portable + + clippy_check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + components: clippy + - name: Clippy + run: cargo clippy --all-features + + check_fmt_and_docs: + name: Checking fmt and docs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + components: rustfmt + + - name: setup + run: | + rustup component add rustfmt + rustc --version + - name: fmt + run: cargo fmt --all -- --check + + - name: Docs + run: cargo doc # Benchmarks need a nightly Rust bench: