fix fuse problem for appimages

This commit is contained in:
Greg Gauthier 2026-02-14 14:38:08 +00:00
parent 01acd4d6e6
commit 120af6f29d

View File

@ -34,10 +34,22 @@ jobs:
./dotnet-install.sh --channel 8.0 --install-dir /usr/local/dotnet
ln -sf /usr/local/dotnet/dotnet /usr/bin/dotnet
- name: Install AppImageTool
- name: Setup FUSE and AppImageTool
run: |
# Install and load FUSE
modprobe fuse || echo "Warning: Could not load fuse module"
# Download and extract appimagetool without FUSE (using --appimage-extract)
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage \
-O /usr/local/bin/appimagetool
-O appimagetool.AppImage
chmod +x appimagetool.AppImage
./appimagetool.AppImage --appimage-extract
# Create wrapper script that uses extracted version
cat > /usr/local/bin/appimagetool << 'EOF'
#!/bin/bash
/workspace/gmgauthier/notepad/squashfs-root/AppRun "$@"
EOF
chmod +x /usr/local/bin/appimagetool
- name: Build Linux Packages
@ -50,9 +62,11 @@ jobs:
VERSION=${GITHUB_REF#refs/tags/}
mkdir -p release
# Copy AppImage
cp publish/appimage/NotePad-0.1.0-x86_64.AppImage \
release/NotePad-${VERSION}-x86_64.AppImage
# Copy AppImage (if it exists)
if [ -f publish/appimage/NotePad-0.1.0-x86_64.AppImage ]; then
cp publish/appimage/NotePad-0.1.0-x86_64.AppImage \
release/NotePad-${VERSION}-x86_64.AppImage
fi
# Copy Tarball
cp publish/tarball/notepad-0.1.0-linux-x64.tar.gz \
@ -60,7 +74,9 @@ jobs:
# Generate checksums
cd release
sha256sum NotePad-${VERSION}-x86_64.AppImage > NotePad-${VERSION}-x86_64.AppImage.sha256
if [ -f NotePad-${VERSION}-x86_64.AppImage ]; then
sha256sum NotePad-${VERSION}-x86_64.AppImage > NotePad-${VERSION}-x86_64.AppImage.sha256
fi
sha256sum notepad-${VERSION}-linux-x64.tar.gz > notepad-${VERSION}-linux-x64.tar.gz.sha256
ls -lh # For debugging
@ -77,22 +93,23 @@ jobs:
-d "{
\"tag_name\": \"${VERSION}\",
\"name\": \"NotePad ${VERSION}\",
\"body\": \"Release ${VERSION}\n\n## Linux Downloads\n- **AppImage**: Portable, single-file executable (no installation needed)\n- **Tarball**: Traditional installation with \`sudo ./install.sh\`\"
\"body\": \"Release ${VERSION}\n\n## Linux Downloads\n- **AppImage**: Portable, single-file executable (no installation needed)\n- **Tarball**: Extract and run \`sudo ./install.sh\` to install\"
}" > release_response.json
RELEASE_ID=$(cat release_response.json | grep -o '"id":[0-9]*' | head -1 | cut -d':' -f2)
# Upload AppImage
curl -X POST "https://repos.gmgauthier.com/api/v1/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=NotePad-${VERSION}-x86_64.AppImage" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/octet-stream" \
--data-binary @release/NotePad-${VERSION}-x86_64.AppImage
# Upload AppImage if it exists
if [ -f release/NotePad-${VERSION}-x86_64.AppImage ]; then
curl -X POST "https://repos.gmgauthier.com/api/v1/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=NotePad-${VERSION}-x86_64.AppImage" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/octet-stream" \
--data-binary @release/NotePad-${VERSION}-x86_64.AppImage
# Upload AppImage checksum
curl -X POST "https://repos.gmgauthier.com/api/v1/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=NotePad-${VERSION}-x86_64.AppImage.sha256" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: text/plain" \
--data-binary @release/NotePad-${VERSION}-x86_64.AppImage.sha256
curl -X POST "https://repos.gmgauthier.com/api/v1/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=NotePad-${VERSION}-x86_64.AppImage.sha256" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: text/plain" \
--data-binary @release/NotePad-${VERSION}-x86_64.AppImage.sha256
fi
# Upload tarball
curl -X POST "https://repos.gmgauthier.com/api/v1/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=notepad-${VERSION}-linux-x64.tar.gz" \