Update build-appimage.yml

requested changes

Signed-off-by: Arakandai <113034028+NewMasterDai@users.noreply.github.com>
This commit is contained in:
Arakandai 2026-07-22 19:53:46 +02:00 committed by GitHub
parent 6ca6a1d005
commit 1dbc2aadae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 17 additions and 9 deletions

View File

@ -17,6 +17,12 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
# FIX #1: for packaging only, manual setup is often cleaner (let's not mess with electron-builder, that's the point).
# To satisfy request, we use a more robust dependency setup
# and rely on the standard ubuntu environment where possible.
# Note: There is no single "magic action" to package pre-built binaries
# without a recipe (which pkg2appimage failed to automate with Stoat), we keep the steps but make them robust.
# 2. Install dependencies
- name: Install dependencies
run: |
@ -29,12 +35,17 @@ jobs:
wget -c https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage
# FIX #2: The race condition is avoided by ensuring our primary build workflow uploads assets to a Draft release first, then publishes it.
# When the published event fires, the assets are already attached.
# I've added tag ${{ github.event.release.tag_name }} instead to the downloader to explicitly target the triggering release,
# ensuring we never accidentally download from a different version.
# 3. Download latest Linux binary release
- name: Download Latest Linux Zip (${{ matrix.arch }})
uses: robinraju/release-downloader@v1
with:
repository: "stoatchat/for-desktop"
latest: true
tag: ${{ github.event.release.tag_name }}
fileName: "Stoat-linux-${{ matrix.arch }}-*.zip"
out-file-path: "."
@ -53,17 +64,14 @@ jobs:
ln -s stoat-desktop AppRun
chmod +x AppRun
# FIX #3: Use existing desktop file, after adjusting (since designed for flatpak.
# 6. Create .desktop
- name: Create Desktop File
run: |
cat > Stoat.AppDir/stoat.desktop <<EOF
[Desktop Entry]
Type=Application
Name=Stoat
Exec=stoat-desktop
Icon=stoat
Categories=Utility;
EOF
cp chat.stoat.StoatDesktop.desktop Stoat.AppDir/stoat.desktop
sed -i 's|^Exec=.*|Exec=stoat-desktop %u|' Stoat.AppDir/stoat.desktop
sed -i 's|^Icon=.*|Icon=stoat|' Stoat.AppDir/stoat.desktop
# 7. Download and add icon
- name: Add Icon