From ad064a951a36a9aefc24c4aa279379063747af77 Mon Sep 17 00:00:00 2001 From: Ryan _ <108048963+RyanYuuki@users.noreply.github.com> Date: Thu, 16 Jan 2025 23:31:49 +0530 Subject: [PATCH] git: another attempt at making appimage build work --- .github/workflows/build.yml | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 28b2a17..fb64558 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,8 +92,9 @@ jobs: run: | sudo apt-get update sudo apt-get install -y ninja-build cmake clang mpv libgtk-3-dev libblkid-dev liblzma-dev pkg-config libmpv-dev webkit2gtk-4.1 dpkg-dev fuse - wget -O appimagetool https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage + wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage" chmod +x appimagetool + sudo mv appimagetool /usr/local/bin/ - name: Setup Flutter uses: subosito/flutter-action@v2 @@ -108,35 +109,51 @@ jobs: - name: Create AppImage run: | - cd build/linux/x64/release/bundle + # Create fresh AppDir structure + rm -rf AppDir mkdir -p AppDir/usr/bin mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps mkdir -p AppDir/usr/share/applications - # Copy built files - cp -r ./* AppDir/usr/bin/ - cp ../../../../../assets/images/logo.png AppDir/usr/share/icons/hicolor/256x256/apps/anymex.png - - + # Copy built files - now with correct paths + cp -r build/linux/x64/release/bundle/* AppDir/usr/bin/ + cp assets/images/logo.png AppDir/usr/share/icons/hicolor/256x256/apps/anymex.png # Create desktop file cat < AppDir/usr/share/applications/anymex.desktop [Desktop Entry] Name=AnymeX - Exec=/usr/bin/anymex + Exec=anymex Icon=anymex Type=Application Categories=Utility; EOF + # Create AppRun file + cat < AppDir/AppRun + #!/bin/sh + SELF=\$(readlink -f "\$0") + HERE=\${SELF%/*} + export PATH="\${HERE}/usr/bin/:\${PATH}" + export LD_LIBRARY_PATH="\${HERE}/usr/lib/:\${LD_LIBRARY_PATH}" + exec "\${HERE}/usr/bin/anymex" "\$@" + EOF + chmod +x AppDir/AppRun + # Make AppImage - ARCH=x86_64 ./appimagetool AppDir AnymeX-Linux.AppImage + /usr/local/bin/appimagetool AppDir + mv AnymeX-x86_64.AppImage build/linux/x64/release/AnymeX-Linux.AppImage + + - name: Create ZIP archive + run: | + cd build/linux/x64/release/bundle + zip -r ../AnymeX-Linux.zip ./* - name: Release Linux Build and AppImage uses: ncipollo/release-action@v1 with: artifacts: | - build/linux/x64/release/AnymeX-Linux.zip, + build/linux/x64/release/AnymeX-Linux.zip build/linux/x64/release/AnymeX-Linux.AppImage token: ${{ secrets.GITHUB_TOKEN }} allowUpdates: true