Skip to content

Simplify and improve the CI #109

Simplify and improve the CI

Simplify and improve the CI #109

Workflow file for this run

name: Cargo Build & Test
on: [push, pull_request]
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
build: [stable, beta, nightly, anaconda linux, macos, anaconda macos, win64]
include:
- build: stable
os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-gnu
- build: beta
os: ubuntu-latest
rust: beta
target: x86_64-unknown-linux-gnu
- build: nightly
os: ubuntu-latest
rust: nightly
target: x86_64-unknown-linux-gnu
- build: anaconda linux
os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-gnu
- build: macos
os: macos-latest
rust: stable
target: x86_64-apple-darwin
- build: anaconda macos
os: macos-latest
rust: nightly
target: x86_64-apple-darwin
- build: win64
os: windows-latest
rust: stable
target: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@master
- run: git submodule init
- run: git submodule update
- uses: actions/setup-python@v5
with:
python-version: '3.12'
if: ${{ ! startsWith(matrix.build, 'anaconda') }}
- name: Install Matplotlib (pip)
if: ${{ ! startsWith(matrix.build, 'anaconda') }}
run: pip install matplotlib
- name: Install Matplotlib (Anaconda)
if: startsWith(matrix.build, 'anaconda')
run: $CONDA/bin/conda install conda-forge::matplotlib
- name: Install Rust (rustup)
run: |
rustup update --no-self-update
rustup default ${{ matrix.rust }}-${{ matrix.target }}
- run: cargo build -vv
- run: cargo test
if: ${{ ! startsWith(matrix.build, 'anaconda') }}
- run: cargo run --example a_simple_example
if: ${{ ! startsWith(matrix.build, 'anaconda') }}
- name: Run example with Anaconda on Linux
if: startsWith(matrix.build, 'anaconda linux')
run: |
eval "$($CONDA/bin/conda shell.bash activate)"
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib
cargo run --example a_simple_example
- name: Run example with Anaconda on MacOS
if: startsWith(matrix.build, 'anaconda macos')
run: |
source $($CONDA/bin/conda info --base)/bin/activate
export DYLD_LIBRARY_PATH=$CONDA_PREFIX/lib
cargo run --example a_simple_example
cargo run --example flower