3a144064e3
Replaces the single check-branding.sh with the four-file toolkit from
musiikki/nih-plug-template, moved under tools/ alongside where the deploy
scripts will eventually live.
The two scripts are byte-identical to the template's; everything specific
to this plugin lives in tools/branding.conf and tools/branding-sites.tsv.
That is the point of the split: syncing an improvement is now a file copy
rather than a shell merge, which is what the last two syncs had become.
This repo's data differs from the template's in ways that exercise the
design rather than fight it: params live in src/params.rs rather than
src/lib.rs, deploy.ps1 exists so its three rows check instead of skip, and
the CI bundle command carries no --features flag because VST3 is always on
here. All of that is table data now, not forked shell.
Nothing needed overriding: PKG, STRUCT and PARAMS_STRUCT all derive
correctly from PLUGIN_NAME ("Bari 206" -> bari_206 / Bari206 /
Bari206Params). AUTHOR is pinned because this plugin separates the person
who wrote it from the organisation that vends it — a distinction the
template could not express until integrating here surfaced it.
Adopting it required two upstream fixes, both made in the template first
so the scripts stay identical: cargo AUTHOR as a value distinct from
Plugin::VENDOR, and site patterns narrowed to the smallest distinctive
fragment after this repo's rustfmt-wrapped CLAP_DESCRIPTION proved a
statement-spanning pattern cannot match correctly formatted source.
CI is repointed at tools/check-branding.sh, and its path filter widened to
tools/** — the old filter named a file that no longer exists, so a change
to the toolkit would have triggered no CI at all.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
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
|