helge17 / tuxguitar

Improve TuxGuitar and provide builds
Other
304 stars 29 forks source link

(draft) Github action addon #368

Open G-eos opened 2 months ago

G-eos commented 2 months ago

Add build from GitHub Action for MacOS-13 and Ubuntu. This is a first trial, if you find it useful, please detail which platform and OS version is of interest, I will try to do my best to add them.

Action for Mac and Ubuntu is coming from INSTALL.md Update: add FreeBSD build for trial too

Note: add build for MacOS 12 & 13. 14 fails (as we already know)

See result here

guiv42 commented 2 months ago

For sure this approach has serious advantages. Most contributors (if not all) do not have the possibility to build all flavors of TuxGuitar, so this approach could help detect possible incompatibilities introduced by a PR for example.

I think the most interesting use cases are:

Then, I must admit there are also drawbacks. The most critical one I think: this is somehow redundant with the build script used by @helge17 to build and release TuxGuitar in all flavors. Also with some information available in INSTALL.md: typically the list of build dependencies. So this means double maintenance whenever something needs to change in the build environment.

Ideally the build script, the INSTALL.md doc and the GitHub actions should share a maximum of possible data. For example:

Also: most of TuxGuitar's code is independent from the OS, and there is an abstraction layer for ui frameworks (SWT vs. JFX). So it is clearly possible to create an incompatibility, but this should really not happen very often. After about 1 year of active development, I admit I faced personally all use cases of incompatibilities I mentioned above. So I can't say it's useless. But to be honest it happened to me about 3-4 times. Considering the number of commits I pushed, effective coverage remains quite low. Most of the incompatibilities I've introduced would not have been detected by these Github actions.

@helge17: what do you think?