name: Rust general tests
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
permissions:
contents: read
jobs:
linux:
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: ubuntu-latest
target: x86_64
- runner: ubuntu-latest
target: x86
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt update
sudo apt-get install -y liblapack-dev libblas-dev libopenblas-dev
- name: Build
run: cargo build --lib --verbose
- name: Run tests
run: cargo test --verbose
macos:
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: macos-14
target: aarch64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install latest rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: "--target=${{ matrix.platform.target }}-apple-darwin"
- name: Build
run: cargo build --lib --verbose
- name: Run tests
run: cargo test --verbose
windows:
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: windows-latest
target: x86_64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.8
architecture: ${{ matrix.platform.target == 'i686' && 'x86' || 'x64' }}
- name: Build
run: cargo build --lib --verbose
- name: Run tests
run: cargo test --verbose