Build AppImage manually in CI workflow
Replace the cx_Freeze bdist_appimage step with an explicit manual AppImage build to avoid cx_Freeze rebuilding and untrimming artifacts. The workflow now downloads appimagetool, prepares an AppDir (AppDir/usr/bin), copies the trimmed build contents (preserving cx_Freeze relative paths), installs desktop/icon metadata, creates an AppRun symlink, and runs appimagetool with ARCH=x86_64 and --appimage-extract-and-run to avoid FUSE issues in CI. The rest of the job (e.g. RPM build) remains unchanged.
This commit is contained in:
@@ -271,8 +271,31 @@ jobs:
|
|||||||
echo "Warning: Build directory not found, cannot trim files"
|
echo "Warning: Build directory not found, cannot trim files"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build AppImage
|
# Build AppImage manually to avoid cx_Freeze rebuilding (and untrimming) the artifacts
|
||||||
python setup_cxfreeze.py bdist_appimage
|
echo "Creating AppImage manually..."
|
||||||
|
mkdir -p dist
|
||||||
|
|
||||||
|
# Download appimagetool
|
||||||
|
wget -q -O appimagetool https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage
|
||||||
|
chmod +x appimagetool
|
||||||
|
|
||||||
|
# Setup AppDir structure
|
||||||
|
rm -rf AppDir
|
||||||
|
mkdir -p AppDir/usr/bin
|
||||||
|
|
||||||
|
# Copy trimmed build content (preserving relative paths for cx_Freeze libs)
|
||||||
|
cp -r "$build_dir"/* AppDir/usr/bin/
|
||||||
|
|
||||||
|
# Setup metadata
|
||||||
|
cp ytsage.desktop AppDir/
|
||||||
|
cp branding/icons/icon.png AppDir/ytsage.png
|
||||||
|
|
||||||
|
# Create AppRun symlink
|
||||||
|
ln -s usr/bin/ytsage AppDir/AppRun
|
||||||
|
|
||||||
|
# Build AppImage (using --appimage-extract-and-run to avoid FUSE issues in CI)
|
||||||
|
# We explicitly set ARCH for appimagetool
|
||||||
|
ARCH=x86_64 ./appimagetool --appimage-extract-and-run AppDir "dist/ytsage-v${version}.AppImage"
|
||||||
|
|
||||||
# Build RPM manually with proper spec file
|
# Build RPM manually with proper spec file
|
||||||
version="${{ steps.get_version.outputs.VERSION }}"
|
version="${{ steps.get_version.outputs.VERSION }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user