Files
nih-plug-template/.github/workflows/ci.yaml
T
mikkeli 0500de9eb9
CI / Build (push) Successful in 30s
ci: widen the path filter to tools/
The filter still named check-branding.sh at the repo root, a path that no
longer exists after the move — so a change to the branding toolkit would
not have triggered CI at all. Silent, and exactly the failure the toolkit
exists to prevent elsewhere.

'tools/**' also covers the deploy scripts that will land there.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
2026-09-01 10:56:22 +09:00

62 lines
1.9 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.
#
# NOTE: `rust-audio` is an ORG-SCOPED label. A plugin cloned from this template
# into a different org will not see that runner, and its jobs will queue
# indefinitely rather than fail. Either register a runner advertising this label
# for that org, or change `runs-on` below.
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
# The default build is CLAP-only; the vst3 feature is opt-in, so both
# configurations have to be built to know the cfg gates are still correct.
- name: Build (default, CLAP only)
run: cargo build --release
- name: Build (--features vst3)
run: cargo build --release --features vst3
- name: Test
run: cargo test --release --features vst3
# 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 nih_plug_template --release --features vst3