Github Actions CLI builds?
-
Hey is it possible to build plugins with a CI / CLI pipeline on a headless windows / linux server?
Currently we can compile a project from the command line but can we can not export and compile Scriptnode FX from the CLI.
I would love to set up a windows and linux server that I can use for automatically building. Renting a proper VM Desktop in the cloud is quite expensive and inefficient. Ideally I would use Github Actions.
Any information is much appreciated.
-
@oskarsh said in Github Actions CLI builds?:
can we can not export and compile Scriptnode FX from the CL
Yes we can - check the HISE CLI help
-
@d-healey I made the rookie mistake of relying on the docs. Last time I checked it was not there but you never know!
Time to build the actions.
Thanks David!
-
O oskarsh marked this topic as a question on
-
O oskarsh has marked this topic as solved on
-
@oskarsh I know we all love a good bashing of the docs but there‘s a section in the glossary about it:
-
@Christoph-Hart said in Github Actions CLI builds?:
@oskarsh I know we all love a good bashing of the docs but there‘s a section in the glossary about it:
The docs are missing this part
compile_networks -c:CONFIG
Compiles the DSP networks in the given project folder. Use the -c flag to specify the build
configuration ('Debug' or 'Release') -
@d-healey Oops I overread that it was about compiling the DSP networks. Back to bashing the docs then I guess :)
On the other hand you might get away without compiling the networks in the build process - when it loads a project and can't find the project DLL (like it would in the command line build process of the actual plugin), it will still create a placeholder and then export it correctly (assuming that you've checked in the C++ node for the codes in the AdditionalSourceCode repository).
-
I'll add to the documentation eventually, but this might help anybody trying to set this up.
HISE and Juce will segfault without an X11 server running, so just calling them from the command line over ssh will probably look like things are broken. You should run
{HISE_BINARY} --help
to check if things are working.This is my build.sh script, which I put in a Packaging folder in the HISE project directory:
#!/bin/bash parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) #Makes it so you can call the script from anywhere cd "$parent_path" {HISE Binary} export ../XmlPresetBackups/ProjectName.xml -t:'instrument' -p:'VST' -a:'x64' cd "../Binaries" source ./batchCompileLinux.sh scp -r "$parent_path/../Binaries/Builds/LinuxMakefile/build/ProjectName.vst3/" simon@{laptop_ip}:/home/simon/.vst3/ #Copies the vst to my laptop