Upgrade PupNet to 1.9.1 and switch to FUSE3-based AppImage runtime#1686
Upgrade PupNet to 1.9.1 and switch to FUSE3-based AppImage runtime#1686NeuralFault wants to merge 4 commits into
Conversation
…tic runtime - Bump PupNet from 1.8.0 to 1.9.1 (targets .NET 8 still) - Add external appimagetool-x86_64.AppImage to build pipeline (PupNet 1.9+ no longer embeds it) - Switch build-host FUSE dependency from libfuse2 to fuse3 (fusermount3 satisfies appimagetool's static runtime) - Upgrade pupnet.conf format from 1.4.0 to 1.9.1; add AppImageRuntimePath - Output AppImage now embeds a statically-linked FUSE3 type2 runtime, eliminating libfuse.so.2 dependency on end-user systems
There was a problem hiding this comment.
Code Review
This pull request updates the PupNet Deploy configuration to version 1.9.1, adds new configuration fields, and documents the prerequisites for publishing Linux builds in both CONTRIBUTING.md and the Jenkinsfile. The reviewer identified that appimagetool should be downloaded directly as /usr/local/bin/appimagetool rather than with the architecture suffix, as PupNet 1.9+ expects it under that exact name in the system PATH. Correspondingly, the prerequisite comments in the Jenkinsfile should be updated. Lastly, the reviewer recommended adding the -c Release flag to the pupnet command in the Jenkinsfile to ensure optimized release builds are generated.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
rename appimagetool after download and move Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Closes #1682
What changed
Upgraded the Linux AppImage build from PupNet 1.8.0 to 1.9.1. PupNet 1.9+
no longer embeds
appimagetool— it's now downloaded as a separate externaldependency. In exchange, the modern
appimagetoolfetches an up-to-datetype2-runtime that is statically linked against libfuse3.
Why
The old build pipeline embedded a FUSE2-based runtime that required
libfuse.so.2on end-user systems. Modern distros (Ubuntu 24.04+, Fedora 40+)are shipping only FUSE3, so users had to manually install
libfuse2to run theAppImage.
The new type2-runtime:
fusermount(libfuse2) orfusermount3(fuse3) at runtime--appimage-extract-and-runif neither is availableWhat end users need
Most desktop users need nothing —
fuse3is pre-installed on many modern distros.On minimal systems:
sudo apt install fuse3(or equivalent).Files changed
.github/workflows/release.ymlCONTRIBUTING.mdStabilityMatrix.Avalonia.pupnet.confJenkinsfile