pluginval was designed from the start to easily fit in to build tools and continuous integration solutions. Doing this helps improve confidence in release builds, knowing plugins are continuously tested. Additionally, pluginval can automatically generate log files which can then be sent to Tracktion as part of their "Verified by pluginval" scheme.
There a couple of different ways this can be done but the simplest is as follows:
- As part of your build scripts, after the plugins have been built, download the latest binaries of
pluginval - Unzip the
pluginvalbinaries - Invoke
pluginvalfrom the command line to test each plugin - If validation fails, fail your build
- If validation passes, retain the generated log files ready to submit to "Verified by pluginval"
In these examples the following is assumed:
- macOS/Linux, curl is installed
- You have a directory
./binwhere you are putting your build products - You are validating with a strictness level of 5 (the default). It is a much better idea to specify
--strictness-level 5on the command line
$ curl -L "https://github.com/Tracktion/pluginval/releases/latest/download/pluginval_macOS.zip" -o pluginval.zip
$ unzip pluginval
$ pluginval.app/Contents/MacOS/pluginval --validate-in-process --output-dir "./bin" "<path_to_plugin>" || exit 1$ curl -L "https://github.com/Tracktion/pluginval/releases/latest/download/pluginval_Linux.zip" -o pluginval.zip
$ unzip pluginval
$ ./pluginval --validate-in-process --output-dir "./bin" "<path_to_plugin>" || exit 1> powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest https://github.com/Tracktion/pluginval/releases/latest/download/pluginval_Windows.zip -OutFile pluginval.zip"
> powershell -Command "Expand-Archive pluginval.zip -DestinationPath ."
> pluginval.exe --validate-in-process --output-dir "./bin" "<path_to_plugin>"
> if %ERRORLEVEL% neq 0 exit /b 1Or install via Chocolatey on Windows
> choco install pluginval