infra: Add AppImage build to release workflow (Enjoy Steam Deck users 🙂)

This commit is contained in:
reggie 2024-10-06 03:16:37 -05:00
parent 8a63c0bc69
commit 9c5dda1848
2 changed files with 34 additions and 4 deletions

View file

@ -117,6 +117,32 @@ jobs:
popd popd
shell: bash shell: bash
- name: Build AppImage (Linux)
if: matrix.platform.os == 'ubuntu-latest'
run: |
PLATFORM_NAME="${{ matrix.platform.name }}"
sudo apt install -y zsync desktop-file-utils appstream
mkdir -p tools
export PATH="$PATH:$(readlink -f tools)"
# Setup appimagetool
wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x tools/appimagetool
if [ "$PLATFORM_NAME" = "linux-x64" ]; then
export ARCH=x86_64
elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
export ARCH=aarch64
else
echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
exit 1
fi
BUILDDIR=publish_ava OUTDIR=publish_ava_appimage distribution/linux/appimage/build-appimage.sh
shell: bash
- name: Packing Linux builds - name: Packing Linux builds
if: matrix.platform.os == 'ubuntu-latest' if: matrix.platform.os == 'ubuntu-latest'
run: | run: |
@ -131,6 +157,11 @@ jobs:
chmod +x Ryujinx.sh Ryujinx.Headless.SDL2 chmod +x Ryujinx.sh Ryujinx.Headless.SDL2
tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz * tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz *
popd popd
# AppImage archive
pushd publish_ava_appimage
tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}-AppImage.tar.gz *
popd
shell: bash shell: bash
- name: Pushing new release - name: Pushing new release

View file

@ -10,16 +10,15 @@ OUTDIR=${OUTDIR:-publish_appimage}
rm -rf AppDir rm -rf AppDir
mkdir -p AppDir/usr/bin/bin mkdir -p AppDir/usr/bin/bin
# Ensure necessary bins are set as executable
chmod +x "$BUILDDIR"/Ryujinx*
# Add symlinks for the AppImage
cp distribution/linux/Ryujinx.desktop AppDir/Ryujinx.desktop cp distribution/linux/Ryujinx.desktop AppDir/Ryujinx.desktop
cp distribution/linux/appimage/AppRun AppDir/AppRun cp distribution/linux/appimage/AppRun AppDir/AppRun
cp distribution/misc/Logo.svg AppDir/Ryujinx.svg cp distribution/misc/Logo.svg AppDir/Ryujinx.svg
cp -r "$BUILDDIR"/* AppDir/usr/bin/ cp -r "$BUILDDIR"/* AppDir/usr/bin/
# Ensure necessary bins are set as executable
chmod +x AppDir/AppRun AppDir/usr/bin/Ryujinx*
mkdir -p "$OUTDIR" mkdir -p "$OUTDIR"
appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \ appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \