Skip to content

Add --plugin to pluginval test and GitHub Actions for validate and acceptance tests - #193

Merged
drowaudio merged 4 commits into
v2from
feature/github-actions
Oct 13, 2026
Merged

drowaudio merged 4 commits into
v2from
feature/github-actions

Conversation

@drowaudio

Copy link
Copy Markdown
Contributor

Stacked on #192 (uses --junit-xml); retarget to v2 once that merges.

What

  • pluginval test --plugin <plugin> - overrides the config's plugin, which is now only required when the flag is absent. Lets one set of configs run against whichever binary was just built.
  • .github/actions/validate - validates a newline-separated list of plugins (paths, globs or AU ids).
  • .github/actions/acceptance - runs pluginval test for every *.json found recursively under a directory, optionally against one built plugin. Skips the *.wav.json reference manifests and fails array configs.
  • Both actions download a pluginval release (default v2.0.0-beta1) or use pluginval-path, run every item, write a job-summary table, set passed / failed / report-dir outputs and fail if anything failed. Shared helpers are in .github/actions/common/common.sh.
  • build.yaml - tags containing a hyphen (e.g. v2.0.0-beta1) are published as pre-releases, so a beta doesn't become "latest".
  • Docs: .github/actions/README.md, plus updates to the CI, acceptance, command-line and design docs, CHANGELIST.md and CLAUDE.md.

Testing

  • New parser unit tests for --plugin; run-tests and the acceptance CTests pass on macOS.
  • acceptance.yml now dogfoods both actions against the in-repo build on Linux, macOS and Windows, including the expected-failure cases (missing plugin, wrong reference, array config, missing reference with and without record-missing), and asserts the outcomes and counts.
  • The action scripts were run locally under bash 3.2 for the same cases.

Not yet tested

Both commands can now write machine-readable reports through a shared report_writer. A placeholder error report is written before a run and replaced on completion, and a timeout writes a timed-out report, so a report always agrees with the exit code. A report that can't be written fails the run.
@drowaudio
drowaudio changed the base branch from feature/report-output to v2 October 13, 2026 15:05
@drowaudio
drowaudio merged commit 2c5c4e3 into v2 Oct 13, 2026
13 of 16 checks passed
@drowaudio
drowaudio deleted the feature/github-actions branch October 13, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant