Skip to content

Commit

Permalink
infra: Add AppImage build to release workflow (Enjoy Steam Deck users 🙂)
Browse files Browse the repository at this point in the history
  • Loading branch information
regginator committed Oct 6, 2024
1 parent 8a63c0b commit cfa287f
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 3 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,32 @@ jobs:
popd
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
if: matrix.platform.os == 'ubuntu-latest'
run: |
Expand All @@ -131,6 +157,11 @@ jobs:
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 *
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

- name: Pushing new release
Expand Down
6 changes: 3 additions & 3 deletions distribution/linux/appimage/build-appimage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ OUTDIR=${OUTDIR:-publish_appimage}
rm -rf AppDir
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/appimage/AppRun AppDir/AppRun
cp distribution/misc/Logo.svg AppDir/Ryujinx.svg

cp -r "$BUILDDIR"/* AppDir/usr/bin/

# Ensure necessary bins are set as executable
chmod +x AppDir/AppRun AppDir/usr/bin/Ryujinx*

mkdir -p "$OUTDIR"

appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \
Expand Down

0 comments on commit cfa287f

Please sign in to comment.