1
0
Fork 0
nih-plug/.github/workflows/test.yml
Robbert van der Helm 1bb1cde913 Add optional Zstandard compression for state
This can be particularly useful when using the persistent fields feature
to store JSON or other large textual documents.
2022-08-18 13:55:48 +02:00

69 lines
2 KiB
YAML

name: Tests
on:
push:
branches:
- '**'
tags:
# Run when pushing version tags, since otherwise it's impossible to
# restart a successful build after pushing a tag
- '*.*.*'
pull_request:
branches:
- master
defaults:
run:
# This otherwise gets run under dash which does not support brace expansion
shell: bash
jobs:
test:
strategy:
matrix:
os: [ubuntu-18.04, macos-10.15, windows-latest]
name: Build and test all components
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
# Needed for git-describe to do anything useful
- name: Fetch all git history
run: git fetch --force --prune --tags --unshallow
- name: Install dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y libgl-dev libjack-dev libxcb1-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
# FIXME: Needed for SIMD. Diopser can be compiled without SIMD support
# though, we'd actually need to test whether both versions
# compile
toolchain: nightly
profile: minimal
default: true
- name: Build all targets
uses: actions-rs/cargo@v1
with:
command: build
# Don't use --all-features as that will enable a whole bunch of
# conflicting iced features
args: --workspace --features "simd,standalone,zstd"
- name: Run the tests
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace