A lightweight CI harness that builds plugdata from source with its end-to-end test suite enabled, under AddressSanitizer, across four platform configurations, and reports any failures.
This repo contains only the GitHub Actions workflow — it does not vendor plugdata as a submodule. The workflow clones plugdata fresh on each run.
The plugdata tests workflow, for each of:
| Job | Runner | Notes |
|---|---|---|
| Linux-x64 | ubuntu-24.04 |
OpenGL via X11 (headless xvfb) |
| Linux-arm64 | ubuntu-24.04-arm |
GLES implementation |
| macOS | macos-latest |
Apple silicon |
| Windows | windows-2022 |
clang-cl (for ASAN support) |
does the following:
- Clones the chosen plugdata branch (
developby default) with its submodules (--recurse-submodules --shallow-submodules). - Configures & builds the standalone target with
-DENABLE_TESTING=1 -DENABLE_ASAN=1(ccache-accelerated). - Runs the standalone. When built with
ENABLE_TESTING, plugdata runs its whole unit/integration suite at startup and quits when finished. - Checks the result (
scripts/run-and-check.sh): the job fails if a sanitizer reports an error, if the JUCEUnitTestRunnerprints a failure, or if the run hangs/crashes. The full output is uploaded as atest-output-<job>artifact.