193cee0aef
Migrated from musiikki/nih-plug-template, adapted for this repo: the template gates VST3 behind an opt-in `vst3` feature and so builds twice, while this plugin always ships VST3 (nih_plug is taken with its default features), so one build covers both formats. The branding check runs first because it needs no toolchain and finishes in under a second, so a half-landed rename fails before a build is spent on it. The bundle step is included because `cargo build` never exercises the xtask bundler, and bundler.toml drifting from the crate name stays invisible until you try to produce an artifact. Performance is deliberately not gated. `Plugin::process()` cannot be called from a test — `ProcessContext` requires a `&Transport`, whose constructor and fields are `pub(crate)` to nih_plug — so any realtime check would have to target the `src/dsp/` types directly, and a meaningful one needs an audio deadline rather than a shared CI box. Verified by running the exact step sequence as the gitea-runner user under the service's environment: 28 branding checks, 20 unit tests, both bundles produced. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn