Add building of AppImages for Releases
What started with discussion #335 about creating an AppImage for Gource has now become an automated build workflow to generate one for every Gource release. This AppImage is distro agnostic and should work across most all linux-based platforms, including immutable and atomic distros such as Bazzite (tested myself), Fedora Silverblue, Micro OS, SteamOS, etc. The AppImage is called with ./Gource-x86_64.AppImage and has access to all of the normal parameters that Gource has when called normally. Users can create aliases for the AppImage to even have it be called with the regular Gource if desired. With the growth in immutable and atomic distros, having access to programs like this without having access to the system files is useful. It also solves issues for any distros that might not package Gource in their repos, saving folks the trouble of needing to compile from source to use it.
Be curious to know what the thoughts are on this! Feel free to download the AppImage I generated on my fork and try it out. It should work across most Linux systems, but always good to get feedback on any possible issues too. :)
Thanks for the workflow. Will consider supporting an AppImage.
Nevermind, apparently libfuse wasn't necessary for it to build here. Weirdly I know it threw an error in my container when I didn't have it, but hey if it works then I won't complain! Not sure how the random OpenAI dep and whatnot got in there, may have been autocompleted by accident. But it should be working now, it built successfully for Test-3: https://github.com/JoshuaKimsey/Gource/actions/runs/12825745954/job/35764309892
I still see libfuse-dev in the dependencies. I gather maybe its needed to build the appimage but would be good to check.
its needed to build the appimage
Yeah, I just tried to see if it would build and it won't. Since the Fuse library is required on Ubuntu to run AppImages, a (possibly purposeful) poor design choice on Canonical's part, the libfuse-dev library is required to build them. Otherwise this error is thrown:
dlopen(): error loading libfuse.so.2
AppImages require FUSE to run.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
But it should be good to go now.
Just did one small adjustment to the Categories declarations in the .desktop file. Though I'm also 99% positive those don't matter since this is supposed to be run from a Terminal and not via an app icon on the desktop or programs menu.