Skip to content

Update rust.yml

Update rust.yml #33

Workflow file for this run

name: Rust
on:
release: {}
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
ci:
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
matrix:
rust:
- stable
# - beta
# - nightly
os:
- ubuntu-latest
- windows-latest
- macos-latest
arch:
- x86_64
- i686
package:
- lv2
- ladspa
- mono-vst2
- stereo-vst2
exclude:
- os: macos-latest
package: lv2
- os: macos-latest
arch: i686
include:
- os: ubuntu-latest
os_name: linux
- os: windows-latest
os_name: windows
- os: macos-latest
os_name: macos
- os: ubuntu-latest
arch: x86_64
target: x86_64-unknown-linux-gnu
- os: windows-latest
arch: x86_64
target: x86_64-pc-windows-msvc
- os: macos-latest
arch: x86_64
target: x86_64-apple-darwin
- os: ubuntu-latest
arch: i686
target: i686-unknown-linux-gnu
- os: windows-latest
arch: i686
target: i686-pc-windows-msvc
- package: lv2
name: lv2
- package: ladspa
name: ladspa
- package: mono-vst2
name: mono_vst2
- package: stereo-vst2
name: stereo_vst2
- os: ubuntu-latest
ext: so
libprefix: lib
strip: true
strip_args: --strip-all
- os: windows-latest
ext: dll
libprefix:
strip: true
strip_args: --strip-all
- os: macos-latest
ext: dylib
libprefix: lib
strip: false
strip_args:
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
!target/release/${{ matrix.libprefix }}noise_suppression_*.${{ matrix.ext }}
key: ${{ runner.os }}-${{ matrix.rust }}-${{ matrix.arch }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
target: ${{ matrix.target }}
override: true
components: clippy
- name: Install gcc-multilib
run: sudo apt-get install gcc-multilib
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'i686'
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --package noise-suppression-${{ matrix.package }} --target ${{ matrix.target }} -- -D warnings
- uses: actions-rs/cargo@v1
with:
command: test
args: --package noise-suppression-${{ matrix.package }} --target ${{ matrix.target }}
- uses: actions-rs/cargo@v1
with:
command: build
args: --package noise-suppression-${{ matrix.package }} --target ${{ matrix.target }} --release
- name: Strip Binaries
run: strip ${{ matrix.strip_args }} target/${{ matrix.target }}/release/${{ matrix.libprefix }}noise_suppression_*.${{ matrix.ext }}
if: ${{ matrix.strip }}
- name: Create Distribution
run: |
mkdir dist/
mv "target/${{ matrix.target }}/release/${{ matrix.libprefix }}noise_suppression_${{ matrix.name }}.${{ matrix.ext }}" dist/noise_suppression_${{ matrix.name }}.${{ matrix.ext }}
- name: "Moving Resources Directory to Distribution"
run: |
mv noise-suppression-lv2/resources/* dist/
mv dist/noise_suppression_lv2.${{ matrix.ext }} dist/noise_suppression.lv2/
if: matrix.package == 'lv2'
- uses: actions/upload-artifact@v2
with:
name: ${{ matrix.os_name }}-${{ matrix.arch }}-${{ matrix.package }}
path: dist/*