Closed nbadal closed 1 year ago
As you already expect cmd/releaser
is just like a simple cross-build release script. If we could replace that with a automated CI/CD pipeline that would be awesome. Because of libusb I didn't take the time yet to check possible solutions out. Ultimately it might be great to also have libusb and non-libusb builds for darwin and linux too. Especially in regards to CUPS creating problems while libusb isn't.
Check this Issue if you need more information about building libusb on windows: https://github.com/google/gousb/issues/100
The DLL should be included in the package and I just copy it over in cmd/releaser
Windows DLL: https://packages.msys2.org/package/mingw-w64-x86_64-libusb
@BigJk this is now ready for review! if/when it's merged, feel free to squash it into a single commit - I had to push a lot of commits to test various changes 😅
Thanks a lot for your work! A unified and easy release process helps immensely. After I verified that the windows builds work I will merge it 😄
This automates the previously local build process using
cmd/releaser
, allowing for parallelization and additional checks/automations in the future!How this works
To trigger a release build, push a tag starting with
v
. This will kick off a build of the frontend, then a matrix build of the various OSes, and finally zip up the results into a draft release on Github.Build changes
Replacing the
cmd/releaser
script,build.sh
can be run to create an individual build.$GOOS
and$GOARCH
are used to determine the build target, and the$SND_TAGS
env var can be used to specify electron/libusb/etcResult
TODO: