spek
spek copied to clipboard
GitHub Action to automatically generate a ZIP with the files+MSI every push
Alexander, as requested in #241, I've come up with a GitHub workflow that will automatically build the MSI/ZIP for Windows.
It looks like I still needed to make the patch to the autogen.sh similar to #189 . See line 84 in the workflow file.
Let me know what you think. I can patch the version information to your preference if you want unofficial releases to show different version numbers in the about box, similar to what I do on JPEGView
Linux stage
- MXE build working, can't use a pre-compiled package as Spek needs to patch ffmpeg
- it takes over ~2 hours to build, so added cache action size = ~2GB... GitHub has a 10GB limit per repo
- Depedencies for MXE are the same to build Spek
- Still had to use fix, paths are tweaked from https://github.com/alexkay/spek/issues/189
- Upload the build artifact for the second stage to use. This includes the windows binary, wxs, and tests
Windows stage
- Restore the artifacts from the first stage into the right paths, includes all the files needed to continue the build
- Setup WiX, and call build.bat
- Upload the MSI Artifact along with the binary files (this is what someone would actually want to download)
@sylikc, this looks great, thank you so much! Give me a few days to review.
GitHub Action Builds at each commit/push,,,,,, ain't that a bit overkill. Shouldn't this build option be set off manually.
it can be set that way. But I think only the repository owner can kick off the build, which makes it only semi-automated.
The build time is actually pretty quick though, because MXE is already cached, the average build time is about 6min.
The first build of MXE takes 2h, but that's only done once, and cached for 30d. It also means that if the builds aren't initiated often enough, the rebuild of MXE might have to happen.
@sylikc, this looks great, thank you so much! Give me a few days to review.
@alexkay do you want to merge this in so that Spek gets built with your changes?