diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml
index 58af1d85cb3fd..d2886664b5479 100644
--- a/.github/workflows/release_nightly.yml
+++ b/.github/workflows/release_nightly.yml
@@ -106,7 +106,46 @@ jobs:
CARGO_BUILD_DIR: target/${{ matrix.target }}/release
runs-on: ${{ matrix.os }}
+ # Use the oldest still-supported LTS to build the AppImage
+ container: ${{ startsWith(matrix.build_name, 'linux') && 'ubuntu:20.04' || null }}
+
steps:
+ # Necessary when using an Ubuntu container as it doesn't contain required shell tools
+ # TODO: Replace with AppImageDeploy container
+ - name: Install shell tools (Linux)
+ if: runner.os == 'Linux'
+ run: |
+ apt update
+ DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
+ apt install -y wget curl git gcc kmod sudo default-jre
+ git config --global --add safe.directory *
+ curl -sS https://webi.sh/gh | sh
+ echo $PATH
+ # ~/.local/bin/gh
+ # ~/.local/opt/gh-v2.54.0/bin/gh
+ echo "PATH=$PATH:$HOME/.local/bin" >> $GITHUB_ENV
+ ls ~/.local/bin
+ echo "HUI"
+ #ls usr/.local/bin
+ echo "HUI"
+ ls ~/.local/opt/gh-v2.54.0/bin
+ - name: GitHub CLI - Test
+ run: |
+ echo $home
+ echo "a"
+ realpath ~/.local/bin
+ echo "b"
+ echo "1"
+ echo $PATH
+ echo "hui"
+ ls ~/.local/bin
+ echo "hui"
+ ~/.local/bin/gh --version
+ echo "OOO"
+ # . ~/.config/envman/PATH.env
+ gh --version
+ echo "2"
+
- name: Clone Ruffle repo
uses: actions/checkout@v4
@@ -119,7 +158,7 @@ jobs:
- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
- sudo apt-get update
+ sudo apt update
sudo apt install -y libasound2-dev libxcb-shape0-dev libxcb-xfixes0-dev libgtk-3-dev libudev-dev
- name: Cargo build
@@ -140,10 +179,23 @@ jobs:
cp ${{ env.CARGO_BUILD_DIR }}/ruffle_desktop.exe package/ruffle.exe
7z a ${{ env.PACKAGE_FILE }} ./package/*
+ - name: Create an AppImage (Linux)
+ if: runner.os == 'Linux'
+ run: |
+ wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
+ chmod +x linuxdeploy-x86_64.AppImage
+
+ # TODO Update this after https://github.com/linuxdeploy/linuxdeploy/pull/288 gets merged
+ mkdir -p AppDir/usr/share
+ cp desktop/packaging/Linux/rs.ruffle.Ruffle.metainfo.xml AppDir/rs.ruffle.Ruffle.appdata.xml
+ cp package/* AppDir/usr/share
+
+ LDAI_OUTPUT="Ruffle.AppImage" ./linuxdeploy-x86_64.AppImage --appimage-extract-and-run -e ${{ env.CARGO_BUILD_DIR }}/ruffle_desktop -d desktop/packaging/Linux/rs.ruffle.Ruffle.desktop -i desktop/assets/icon.svg -i desktop/packaging/Linux/icon.png --appdir AppDir --output appimage
+ cp "Ruffle.AppImage" package
+
- name: Package Linux files
if: runner.os == 'Linux'
run: |
- cp ${{ env.CARGO_BUILD_DIR }}/ruffle_desktop package/ruffle
# We must enter the package/ directory in order to create a flat tarball (i.e. without a directory in it).
cd package
tar -czvf ../${{ env.PACKAGE_FILE }} *
diff --git a/desktop/assets/icon macOS.svg b/desktop/assets/icon macOS.svg
new file mode 100644
index 0000000000000..1ea920bf911d4
--- /dev/null
+++ b/desktop/assets/icon macOS.svg
@@ -0,0 +1,76 @@
+
+
diff --git a/desktop/assets/icon.svg b/desktop/assets/icon.svg
index 1ea920bf911d4..42511e7320237 100644
--- a/desktop/assets/icon.svg
+++ b/desktop/assets/icon.svg
@@ -48,15 +48,7 @@
transform="matrix(0.88888933,0,0,0.88888933,-7.111115,-28.888903)"
inkscape:label="logo"
style="display:inline"
- sodipodi:insensitive="true">