invader
invader copied to clipboard
[WIP] Add GitHub Actions workflow to build releases
Will automatically build and release versions when tags like 'x.x.x' are pushed. Can also be run manually to produce a build artifact.
Note that the build process is a bit hacky:
- It uses the Ubuntu image provided by GitHub, but adds the Debian bullseye repo in order to get more recent packages.
- It edits some of the files that
cmake
generates so that the host'sqt
system'smoc
andrcc
build tools are used instead of the mingw-provided ones (which are win32 executables). - It builds and installs
pacman
so it can use it to download and install the required mingw packages.
Links to results:
- Result of manually running the workflow (builds an artifact):
- Result of the workflow running when a tag is pushed (publishes a release)
Currently there is an issue where invader-edit-qt.exe
won't run due to a library error.
@SnowyMouse I'll leave it up to you how you want to proceed with this.
I've tried a bunch of things and couldn't figure out how to make it work. My hope is that this PR can serve as a starting point for someone more well-versed in building this project than me.
Some options:
- Fix the build. It's entirely possible that I've done this entirely wrong and the solution is obvious to someone more knowledgeable than me.
- Since this project builds easily and without error on Arch Linux you could run a self-hosted GitHub runner on Arch and have it do the build instead of using GitHub's Ubuntu image on their infrastructure.