Skip to content

Test 24

Test 24 #168

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, macos-aarch64, anaconda macos-aarch64, win64]
include:
- build: stable
os: ubuntu-latest
rust: stable
- build: beta
os: ubuntu-latest
rust: beta
- build: nightly
os: ubuntu-latest
rust: nightly
- build: anaconda linux
os: ubuntu-latest
rust: stable
- build: macos
os: macos-latest
rust: stable
- build: anaconda macos
os: macos-latest
rust: nightly
- build: macos-aarch64
# Must install app https://github.com/apps/flyci-prod
os: flyci-macos-large-latest-m1
rust: stable
- build: anaconda macos-aarch64
os: flyci-macos-large-latest-m1
rust: stable
- build: win64
os: windows-latest
rust: stable
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@v5
with:
python-version: '3.12'
if: ${{ ! startsWith(matrix.build, 'anaconda') }}
- name: Install Matplotlib (pip)
run: python3 -m pip install -U matplotlib
if: ${{ ! startsWith(matrix.build, 'anaconda') }}
- name: Setup Miniconda
uses: conda-incubator/[email protected]
if: startsWith(matrix.build, 'anaconda macos')
- name: Install Matplotlib (Anaconda)
run: $CONDA/bin/conda install conda-forge::matplotlib
if: startsWith(matrix.build, 'anaconda')
- name: Install Rust
uses: dtolnay/rust-toolchain
with:
toolchain: ${{ matrix.rust }}
- run: cargo build
if: ${{ ! startsWith(matrix.build, 'anaconda') }}
- 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
continue-on-error: true
if: startsWith(matrix.build, 'anaconda macos')
shell: bash
run: |
eval "$($CONDA/bin/conda shell.bash activate)"
# export DYLD_LIBRARY_PATH=$CONDA_PREFIX/lib/py
# mkdir $CONDA_PREFIX/lib/py
# ln -s $CONDA_PREFIX/lib/libpython* $DYLD_LIBRARY_PATH
mkdir -p target/debug/deps
ln -s target/debug/deps $CONDA_PREFIX/lib/libpython*
cargo run --example a_simple_example
cargo run --example flower