Skip to content

[Simple Metronome] Flutter upgrades & Rust bridge upgrade to v2 #1784

[Simple Metronome] Flutter upgrades & Rust bridge upgrade to v2

[Simple Metronome] Flutter upgrades & Rust bridge upgrade to v2 #1784

Workflow file for this run

name: Linux
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
SCCACHE_GHA_ENABLED: true
RUSTC_WRAPPER: sccache
jobs:
test-rust:
name: Run unit-tests on rust crates ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
lfs: true
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
with:
version: "v0.4.0"
- uses: subosito/flutter-action@v1
- uses: Swatinem/rust-cache@v2
with:
shared-key: "rust-cache-linux3"
cache-all-crates: true
cache-on-failure: true
- name: Install dependencies
run: |
./scripts/install-ubuntu-apt-dependencies.sh
- name: Test
if: true
run: |
cargo test \
--exclude assert-no-alloc \
--exclude augmented-ui \
--exclude audiounit \
--exclude basedrop \
--exclude midir \
--exclude gfx \
--exclude iced \
--exclude iced-baseview \
--exclude iced_audio \
--exclude libloading \
--exclude lyon \
--exclude pathfinder \
--exclude piet \
--exclude plotters \
--exclude skribo \
--exclude vst \
--exclude example-iced-xcode-integration \
--exclude avfaudio-sys \
--exclude recording_buddy \
--exclude augmented-audio-knob \
--exclude augmented-audio-gui-basics \
--exclude darwin-webkit \
--exclude webview-holder \
--exclude visualisation_ \
--exclude macos-bundle-resources
- name: Test with coverage
if: false
env:
COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
COVERAGE_BOT_URL: ${{ secrets.COVERAGE_BOT_URL }}
COVERAGE_BOT_TOKEN: ${{ secrets.COVERAGE_BOT_TOKEN }}
run: |
cargo tarpaulin --skip-clean --workspace \
--engine llvm \
--features story \
--coveralls $COVERALLS_TOKEN \
--out lcov \
--output-dir ./tarpaulin-report \
--exclude-files "*crates/vendor/*" \
--exclude-files "*crates/spikes/*" \
--exclude-files "*crates/scripts/*" \
--exclude-files "*crates/examples/*" \
--exclude-files "*crates/augmented/gui/*" \
--exclude-files "*crates/augmented/application/audio-processor-standalone/examples/*" \
--exclude-files "*crates/augmented/application/audio-processor-standalone-gui/*" \
--exclude-files "*crates/augmented/audio/audiounit/*" \
--exclude-files "*crates/augmented/development/*" \
--exclude-files "*crates/augmented/data/augmented-midi/midir/*" \
--exclude-files "*crates/apps/daw/*" \
--exclude-files "*crates/apps/demo-plugin/*" \
--exclude-files "*crates/apps/recording_buddy/*" \
--exclude-files "*crates/apps/tremolo-plugin/*" \
--exclude-files "*crates/apps/synth/*" \
--exclude-files "*crates/apps/looper/augmented-codegen/*" \
--exclude-files "*/bridge_generated.rs" \
--exclude-files "*/bridge_generated.io.rs" \
--exclude-files "*crates/apps/*/src/ui/*" \
--exclude-files "*dart/augmented_audio_wave_example/*" \
--exclude assert-no-alloc \
--exclude augmented-ui \
--exclude audiounit \
--exclude basedrop \
--exclude midir \
--exclude gfx \
--exclude iced \
--exclude iced-baseview \
--exclude iced_audio \
--exclude libloading \
--exclude lyon \
--exclude pathfinder \
--exclude piet \
--exclude plotters \
--exclude skribo \
--exclude vst \
--exclude example-iced-xcode-integration \
--exclude avfaudio-sys \
--exclude recording_buddy \
--exclude augmented-audio-knob \
--exclude augmented-audio-gui-basics \
--exclude darwin-webkit \
--exclude webview-holder \
--exclude visualisation_ \
--exclude macos-bundle-resources
curl -H "Authorization: Bearer $COVERAGE_BOT_TOKEN" -F 'data=@./tarpaulin-report/lcov.info' -F "commit=$(git rev-parse HEAD)" -F "pwd=$(pwd)" $COVERAGE_BOT_URL
- name: Upload tarpaulin report
uses: actions/upload-artifact@v2
with:
name: tarpaulin-report
path: ./tarpaulin-report
build-rust:
name: Build release rust crates ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
lfs: true
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
with:
version: "v0.4.0"
- uses: subosito/flutter-action@v1
- uses: Swatinem/rust-cache@v2
with:
shared-key: "rust-cache-linux3"
cache-all-crates: true
cache-on-failure: true
- name: Install dependencies
run: |
./scripts/install-ubuntu-apt-dependencies.sh
./scripts/install-ubuntu-rust-dependencies.sh
- name: Build release
run: |
cargo build --release --workspace \
--exclude augmented-ui \
--exclude audiounit \
--exclude example-iced-xcode-integration \
--exclude avfaudio-sys \
--exclude recording_buddy \
--exclude darwin-webkit \
--exclude augmented-audio-knob \
--exclude augmented-audio-gui-basics \
--exclude macos-bundle-resources
- name: Run snapshot tests
run: |
./scripts/dev.sh test-snapshots
- name: Upload plugin-host binary
uses: actions/upload-artifact@v2
with:
name: ${{ runner.os }}-plugin-host
path: ./target/release/plugin-host
- name: Upload plugin-host-gui2 binary
uses: actions/upload-artifact@v2
with:
name: ${{ runner.os }}-plugin-host-gui2
path: ./target/release/plugin-host-gui2
- name: Upload tremolo-plugin dylib
uses: actions/upload-artifact@v2
with:
name: ${{ runner.os }}-libtas_v2-dylib
path: ./target/release/libtas_v2.dylib