name: CI on: push: branches: [ master ] paths: - 'src/**' - 'xtask/**' - 'Cargo.toml' - 'Cargo.lock' - 'bundler.toml' - 'tools/**' pull_request: branches: [ master ] workflow_dispatch: # Target the self-hosted Rust/audio runner registered to the `musiikki` org. # # The runner is host-mode, so the rustup toolchain installed for the # `gitea-runner` user is used directly — nothing installs per run, and the cargo # registry cache stays warm between jobs. # # Adapted from musiikki/nih-plug-template. The template gates VST3 behind an # opt-in `vst3` feature and so builds twice; this plugin always ships VST3 # (nih_plug is taken with default features), so one build covers both formats. jobs: build: name: Build runs-on: rust-audio steps: - uses: actions/checkout@v4 - name: Toolchain run: | cargo --version rustc --version echo "CARGO_HOME=${CARGO_HOME:?not set on this runner}" # Cheap and needs no toolchain, so it runs first: a rename that only # landed in half the files is worth catching before spending a build on it. - name: Branding consistency run: sh tools/check-branding.sh - name: Build run: cargo build --release - name: Test run: cargo test --release # Proves the xtask bundler still works, which a plain `cargo build` does # not exercise — the bundle step is where bundler.toml and the crate name # have to agree. - name: Bundle run: cargo xtask bundle bari_206 --release