aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2026-01-15 17:49:26 +0800
committerGitHub <noreply@github.com>2026-01-15 17:49:26 +0800
commit32a9aceee42a2261b64f9e6effda522639576a5e (patch)
tree4cae8d216c3093421addaa0450bc8004c537e373 /.github/workflows/release.yml
parentce4b0c2053d5d16f7091d74840d4a502401f1a4e (diff)
parent31077dbd39a25eecd24a1dca0f8c9d1879265277 (diff)
downloadDropOut-32a9aceee42a2261b64f9e6effda522639576a5e.tar.gz
DropOut-32a9aceee42a2261b64f9e6effda522639576a5e.zip
Merge pull request #30 from HsiangNianian/main
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml45
1 files changed, 43 insertions, 2 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 774e547..82399e5 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -82,6 +82,9 @@ jobs:
args: "--target aarch64-pc-windows-msvc"
runs-on: ${{ matrix.platform }}
+ container:
+ image: ${{ matrix.container }}
+ options: --user root
steps:
- uses: actions/checkout@v4
@@ -89,13 +92,13 @@ jobs:
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
- sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
+ sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libfuse2
- name: Install Dependencies (Linux ARM64)
if: matrix.platform == 'ubuntu-24.04-arm'
run: |
sudo apt-get update
- sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
+ sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libfuse2
- name: Install pnpm
uses: pnpm/action-setup@v4
@@ -123,6 +126,18 @@ jobs:
with:
workspaces: "./src-tauri -> target"
shared-key: ${{ matrix.target }}
+
+ - name: Setup appimagetool (Linux)
+ if: startsWith(matrix.platform, 'ubuntu') && !startsWith(matrix.platform, 'macos') && !startsWith(matrix.platform, 'windows')
+ run: |
+ ARCH=$(uname -m)
+ wget -q "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${ARCH}.AppImage"
+ chmod +x "appimagetool-${ARCH}.AppImage"
+ if command -v sudo >/dev/null 2>&1; then
+ sudo mv "appimagetool-${ARCH}.AppImage" /usr/local/bin/appimagetool
+ else
+ mv "appimagetool-${ARCH}.AppImage" /usr/local/bin/appimagetool
+ fi
- name: Build Tauri App
uses: tauri-apps/tauri-action@v0
@@ -131,3 +146,29 @@ jobs:
with:
releaseId: ${{ needs.promote-release.outputs.release_id }}
args: ${{ matrix.args }}
+
+ - name: Fix AppImage for Wayland (Linux)
+ if: startsWith(matrix.platform, 'ubuntu') && !startsWith(matrix.platform, 'macos') && !startsWith(matrix.platform, 'windows')
+ run: |
+ # Locate the generated AppImage
+ APPIMAGE=$(find bundle -name "*.AppImage" -type f | head -1)
+ echo "Found AppImage: $APPIMAGE"
+
+ if [ -n "$APPIMAGE" ]; then
+ # backup original AppImage
+ cp "$APPIMAGE" "${APPIMAGE}.backup"
+
+ # extract AppImage
+ "$APPIMAGE" --appimage-extract
+
+ # Fix GTK hook, remove forced X11
+ if [ -f squashfs-root/apprun-hooks/linuxdeploy-plugin-gtk.sh ]; then
+ sed -i 's/^export GDK_BACKEND=x11.*$/# export GDK_BACKEND=x11 # Disabled for Wayland compatibility/' squashfs-root/apprun-hooks/linuxdeploy-plugin-gtk.sh
+ echo "Successfully patched GTK hook for Wayland compatibility"
+ fi
+
+ # Repack AppImage
+ appimagetool squashfs-root "$APPIMAGE"
+ rm -rf squashfs-root
+ fi
+ working-directory: src-tauri/target/release