How can I build an AppImage on GitLab CI

859 Views Asked by At

I'm trying to use Gitlab CI to build an AppImage, but fuse does not seem to be available in the Ubuntu Docker image. Is there any way to build an AppImage on this Docker image or one of the others available or do I need to make my own.

My .gitlab-ci.yml:

image: ubuntu:latest
debian packager:
    stage: build
    script:
        - ./installer.sh --make-deb
    artifacts:
        paths:
            - iicalc.deb
    only:
        - development
AppImage packager:
    stage: build
    script:
        - ./installer.sh --make-appImage
    artifacts:
        paths:
            - ImaginaryInfinity_Calculator-x86_64.AppImage
    only:
        - development

The relevant section in installer.sh:

ARCH=x86_64 ./appimagetool-x86_64.AppImage iicalc-appImage

The error I encounter when the pipeline runs:

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

Link to the repository in case you want to see anything else (AppImage related stuff is on the development branch): https://gitlab.com/TurboWafflz/ImaginaryInfinity-Calculator

1

There are 1 best solutions below

0
On BEST ANSWER

You need to extract the AppImage to be able to use it. Like this:

sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /opt/appimagetool
sudo chmod +x /opt/appimagetool
cd /opt/; sudo /opt/appimagetool --appimage-extract
sudo mv /opt/squashfs-root /opt/appimagetool.AppDir
sudo ln -s /opt/appimagetool.AppDir/AppRun /usr/local/bin/appimagetool

Read more at: