Replace APPIMAGE_EXTRACT_AND_RUN with pre-extracted linuxdeploy wrapper
Docker CI containers lack FUSE kernel module, and the env var approach was unreliable when Tauri spawns linuxdeploy as a subprocess. Instead: download linuxdeploy-x86_64.AppImage, extract its squashfs content using squashfs-tools (no FUSE needed), then place a shell wrapper at ~/.cache/tauri/linuxdeploy-x86_64.AppImage so Tauri uses the extracted binary directly without AppImage runtime. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -135,7 +135,7 @@ jobs:
|
||||
librsvg2-dev \
|
||||
patchelf \
|
||||
xdg-utils \
|
||||
libfuse2
|
||||
squashfs-tools
|
||||
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
@@ -152,18 +152,30 @@ jobs:
|
||||
- name: Install Tauri deps
|
||||
run: npm ci
|
||||
|
||||
- name: Stage AppRun for AppImage bundler
|
||||
- name: Stage AppRun and linuxdeploy for AppImage bundler
|
||||
run: |
|
||||
mkdir -p ~/.cache/tauri
|
||||
cp tools/AppRun-x86_64 ~/.cache/tauri/AppRun-x86_64
|
||||
chmod +x ~/.cache/tauri/AppRun-x86_64
|
||||
# Pre-extract linuxdeploy AppImage so it runs without FUSE in Docker
|
||||
wget -q \
|
||||
"https://github.com/tauri-apps/binary-releases/releases/download/linuxdeploy/linuxdeploy-x86_64.AppImage" \
|
||||
-O /tmp/linuxdeploy.AppImage
|
||||
OFFSET=$(python3 -c "
|
||||
d=open('/tmp/linuxdeploy.AppImage','rb').read()
|
||||
o=d.find(b'hsqs')
|
||||
print(o if o!=-1 else d.find(b'sqsh'))
|
||||
")
|
||||
unsquashfs -d /tmp/linuxdeploy-root -offset "$OFFSET" /tmp/linuxdeploy.AppImage
|
||||
printf '#!/bin/sh\nexec /tmp/linuxdeploy-root/AppRun "$@"\n' \
|
||||
> ~/.cache/tauri/linuxdeploy-x86_64.AppImage
|
||||
chmod +x ~/.cache/tauri/linuxdeploy-x86_64.AppImage
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ''
|
||||
NODE_OPTIONS: '--max_old_space_size=4096'
|
||||
APPIMAGE_EXTRACT_AND_RUN: '1'
|
||||
run: npm run tauri -- build --bundles appimage,deb
|
||||
|
||||
- name: Upload to release
|
||||
|
||||
Reference in New Issue
Block a user