Test 24 #168
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |