CI: Make AppImage

This commit is contained in:
Samuel 2024-10-05 06:34:58 -04:00 committed by GitHub
parent 67111a5a5e
commit fe42897aed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -79,6 +79,38 @@ jobs:
chmod +x ./publish_gtk/Ryujinx.Gtk3 ./publish_gtk/Ryujinx.sh
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
- name: Make AppImage
run: |
sudo apt install zsync desktop-file-utils
APPIMAGETOOL="https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
DESKTOP="https://raw.githubusercontent.com/ryujinx-mirror/Ryujinx/master/distribution/linux/Ryujinx.desktop"
ICON="https://raw.githubusercontent.com/ryujinx-mirror/Ryujinx/master/src/Ryujinx/Ryujinx.ico"
mkdir -p ./AppDir/usr/bin && cp -r ./publish/* ./AppDir/usr/bin
wget -q "$APPIMAGETOOL" -O ./appimagetool
wget $DESKTOP -O ./AppDir/Ryujinx.desktop
wget $ICON -O ./AppDir/Ryujinx.png && ln -s Ryujinx.png ./AppDir/.DirIcon
printf '%s\n%s\n%s\n' '#!/bin/sh' 'CURRENTDIR="$(readlink -f "$(dirname "$0")")"' \
'exec "$CURRENTDIR"/usr/bin/Ryujinx.sh "$@"' > ./AppDir/AppRun
chmod +x ./AppDir/AppRun ./appimagetool ./AppDir/usr/bin/Ryujinx*
./appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \
-u "gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|Ryujinx|latest|*.AppImage.zsync" \
./AppDir Ryujinx.AppImage
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest' && matrix.platform.name != 'linux-arm64'
- name: Upload Ryujinx AppImage
uses: actions/upload-artifact@v4
with:
name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}.AppImage
path: Ryujinx.AppImage
if: github.event_name == 'pull_request' && matrix.platform.name != 'linux-arm64' && matrix.platform.os != 'macos-13'
- name: Upload Ryujinx AppImage zsync
uses: actions/upload-artifact@v4
with:
name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}.AppImage.zsync
path: Ryujinx.AppImage.zsync
if: github.event_name == 'pull_request' && matrix.platform.name != 'linux-arm64' && matrix.platform.os != 'macos-13'
- name: Upload Ryujinx artifact
uses: actions/upload-artifact@v4
with: