FreeTube icon indicating copy to clipboard operation
FreeTube copied to clipboard

Convert X64 AppImage to static runtime

Open Samueru-sama opened this issue 1 year ago • 2 comments

Convert X64 AppImage to static runtime

Pull Request Type

  • [x] Feature Implementation

Related issue

Closes #5714 #5641 but not fully since I was only able to do this for the X64 build.

Description

This change drops libfuse2 dependency from the AppImage, which prevents them from working on newer distros that no longer ship libfuse2.

Testing

Artifact

image

Desktop

  • OS: Artix Linux
  • OS Version: Rolling release (Kernel: Linux 6.10.10-artix1-1)
  • FreeTube version: 0.21.3-nightly-13

Additional context

I was not able to fix this on the arm builds because even though I tried using the same runners that the upload actions for those use, it complains that it can't execute the appimage to extract it, which is needed in order to convert it.

Samueru-sama avatar Sep 25 '24 08:09 Samueru-sama

Could you please use the filename everywhere, as you currently have a mix of using the filename in some places and wild cards in others. Additionally it probably makes sense to assign the filename to a variable after the cd build command and reference that variable.

I haven't tested the generated AppImage yet (need to boot up my Ubuntu VM and figure out how to run and then afterwards remove AppImages).

I'm okay with doing this after build hack for the moment but in the long run it would be much better if electron-builder handled that for us, that way people would be able to reproduce the builds easier on their own machines without having to do these steps manually after the build. As for the why it does't work for the arm AppImage, that's because the GitHub runners are x64, so it would probably be a lot better if electron-builder produced the AppImages with the static runtimes in the first place instead of having to do this patching after the fact.

Done, worth mentioning that using appimagetool gives the ability of creating the .zsync files that allow for delta updates in the AppImage with AppImageUpdate, which I will try to add after this PR.

Samueru-sama avatar Oct 03 '24 13:10 Samueru-sama

Just noticed you only did the changes for the workflow that creates the nightly builds but not for the release workflow, could you please make the changes there too?

It would also be great if you could create a feature request on the electron-builder GitHub repo to have the static runtime functionality built-in/out of the box and comment the link to the feature request here, before we consider merging these changes, so that there is a bit of hope that this after build modification won't have to stick around permanently.

absidue avatar Oct 07 '24 16:10 absidue

This PR is stale because it has been open 28 days with no activity. Remove stale label or comment or this will be closed in 14 days.

github-actions[bot] avatar Nov 10 '24 02:11 github-actions[bot]

Just noticed you only did the changes for the workflow that creates the nightly builds but not for the release workflow, could you please make the changes there too?

It would also be great if you could create a feature request on the electron-builder GitHub repo to have the static runtime functionality built-in/out of the box and comment the link to the feature request here, before we consider merging these changes, so that there is a bit of hope that this after build modification won't have to stick around permanently.

Ok will do, sorry I've been busy with other stuff.

I also recently found out that the x86_64 appimagetool can be used to make appimages for other arch, the only thing is that I need to figure out how to extract them on the x86_64 runner.

Samueru-sama avatar Nov 10 '24 17:11 Samueru-sama

Just noticed you only did the changes for the workflow that creates the nightly builds but not for the release workflow, could you please make the changes there too? It would also be great if you could create a feature request on the electron-builder GitHub repo to have the static runtime functionality built-in/out of the box and comment the link to the feature request here, before we consider merging these changes, so that there is a bit of hope that this after build modification won't have to stick around permanently.

Ok will do, sorry I've been busy with other stuff.

I also recently found out that the x86_64 appimagetool can be used to make appimages for other arch, the only thing is that I need to figure out how to extract them on the x86_64 runner.

@Samueru-sama what are things that still need to be addressed in this PR?

Well the PR only fixes the issue for the x64 builds.

Also while it works for the nightly builds, I'm not 100% sure if what I did for the release workflow is what needs to be done.

Samueru-sama avatar Dec 03 '24 20:12 Samueru-sama