name: CI
on: [push, pull_request]
jobs:
rust-test:
name: Run rust tests on ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: macOS
os: macos-latest
- name: Windows
os: windows-latest
- name: Ubuntu
os: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Install LLVM for Windows
if: ${{ startsWith(matrix.os, 'windows') }}
run: .\.github\workflows\intall-llvm.ps1
shell: powershell
- name: Build
run: cargo build --workspace --verbose --features "macros"
- name: Test
run: cargo test --workspace --verbose --features "macros"
wolfram-test:
name: Run Wolfram tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Setup rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Install Wolfram Engine
run: |
wget https://account.wolfram.com/download/public/wolfram-engine/desktop/LINUX
sudo bash LINUX -- -auto -verbose
rm LINUX
- name: Activate Wolfram Engine
run: |
/usr/bin/wolframscript -authenticate $WOLFRAM_ID $WOLFRAM_PW
/usr/bin/wolframscript -activate
env:
WOLFRAM_ID: ${{ secrets.Wolfram_ID }}
WOLFRAM_PW: ${{ secrets.Wolfram_PW }}
- name: Build with link
run: cargo build --workspace --verbose --features "auto-link macros"