The GitHub Actions configuration can be found in .github/workflows/build_and_test.yml
— this, plus the cmake stuff in /cmake
is basically the “meat” of Pamplejuce.
Pamplejuce Continuous Integration (CI) out of the box runs against on the latest Linux, Windows, and macOS.
You can do it all for free on public repos.
For private repos, be sure to do some calculations about free minutes vs. costs on running in CI.
GitHub gives you 2000 or 3000 free GitHub Actions “minutes” per month for private projects, but they actually bill 2x the number of minutes you use on Windows and 10x on MacOS.
Because it costs money, you might feel disincentivized to push to private repos and burn through minutes.
Pamplejuce has Good Defaults
By default, multiple commits in quick succession to a Pamplejuce project will cancel any earlier running builds.
There are also timeouts set so you can’t accidentally stall a build and burn through time.
How to save on costs
You have a few big picture options, like doing testing/pluginval only on Linux and moving everything else to Release
only.
The tradeoff is you won’t be sure everything is happy on all platforms until the time you are releasing (which is the last place you really want friction).
If you have Windows or Mac boxes at home, you can setup GitHub self-hosted runners. Some plugin devs also do this so they can plug in their iLoks to their build machines to build AAX.
Push a commit with [ci skip]
in the git commit message if you are just doing things like updating the README or checking in a WIP that you know will fail CI.
Leave a Reply