Project page is here:
https://github.com/michgz/tonetyrant
The YAML script is here:
https://github.com/michgz/tonetyrant/bl ... sbuild.yml
Some of the features of the build system:
- Zipped executable binaries 2-3MB in size
- Runs on all Windows from Vista onwards. Building for XP also shouldn't be too difficult, I just haven't tried doing that yet.
- Statically linked to the wxWidgets libraries, so that it can be distributed as a single executable file
- Also statically linked to C++ libraries (Windows build only). I found that was necessary to stop the ".DLL Missing" popups in Vista/Win7. The executable size doesn't increase a whole lot doing this so I think is worth it.
- Has both 32-bit and 64-bit builds for Windows. The 32-bit one runs fine on 64-bit systems (but probably not vice versa) so if you want a single executable for Windows I guess 32-bit is the one to go for.
- Similarly for Linux, has both GTK2 and GTK3 builds. The GTK2 one was mostly just because of some issues with wxSpinCtrl I had that seem to have been fixed in the latest version of wxWidgets, so again GTK3 is probably sufficient for all users.
- Makes use of Github's "Cache" facility to cache the wxWidgets libraries once they've been built once. Subsequent build operation are then much quicker.
- Also makes use of Github's automatic release generation. If the build is run on a named tag, then a release is generated with the same name as the tag. That means the binaries are released directly from Github's runner VM with no additional steps in between, so the chance of any malware getting on them is hugely reduced.
- Certificate signing of the Windows binaries. Certificates are not especially expensive but I still haven't found a completely cost-free way of doing this.
- Building for MacOS. Basically, I just don't have access to a Mac for testing the results on, so letting this one go for the time being.