Skip to content

fix: gate native Tauri audio backend #2911

fix: gate native Tauri audio backend

fix: gate native Tauri audio backend #2911

Workflow file for this run

name: Test
on:
push:
branches: ['*']
pull_request:
branches: [main]
# Cancel in-progress runs for the same branch (saves CI minutes)
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
jobs:
# Build WASM first — other jobs need the generated pkg/
build-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- uses: cargo-bins/cargo-binstall@main
- run: cargo binstall wasm-pack --no-confirm
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Build WASM
run: npm run build:wasm
- name: Upload WASM artifacts
uses: actions/upload-artifact@v4
with:
name: wasm-pkg
path: |
src/wasm/pkg/
public/ace_dsp_wasm_bg.wasm
retention-days: 1
# Run Rust unit tests
rust-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Run Rust tests
run: cd crates && cargo test --all
# Run Tauri app-shell Rust unit tests
tauri-rust-test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install Tauri Linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libasound2-dev \
libgtk-3-dev \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- name: Create placeholder frontend dist
run: mkdir -p dist
- name: Run Tauri Rust tests
run: cargo test --manifest-path src-tauri/Cargo.toml
type-check:
runs-on: ubuntu-latest
needs: [build-wasm]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- uses: actions/download-artifact@v4
with:
name: wasm-pkg
- run: npm ci
- run: npx tsc --noEmit
unit-test:
runs-on: ubuntu-latest
needs: [build-wasm]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- uses: actions/download-artifact@v4
with:
name: wasm-pkg
- run: npm ci
- run: npm run test:coverage
- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage/
retention-days: 14
build:
runs-on: ubuntu-latest
needs: [type-check, unit-test, rust-test, tauri-rust-test]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- uses: cargo-bins/cargo-binstall@main
- run: cargo binstall wasm-pack --no-confirm
- run: npm ci
- run: npm run build