-
Notifications
You must be signed in to change notification settings - Fork 1
Packaging Guide
How Jellyx artifacts are built per platform. See Building from Source for prerequisites and Release Process for the release flow.
| Platform | Artifact | Builder | Notes |
|---|---|---|---|
| Linux | .deb |
cargo tauri build / scripts/build.sh linux-deb
|
Recommended |
| Linux | .rpm |
scripts/build.sh |
Recommended |
| Linux | AppImage | scripts/build.sh linux-appimage |
NO_STRIP=1 required (RELR relocation) |
| Linux | .tar.gz |
scripts/build.sh |
Archive |
| macOS | DMG | macos-dmg.yml |
Apple Silicon/aarch64 only; Intel DMG deferred/not produced |
| Windows | NSIS setup.exe
|
release.yml |
Recommended |
| Windows | .msi |
release.yml |
Also shipped |
| Windows | portable .exe
|
release.yml |
No installer |
# All packages the host OS supports
./scripts/build.sh
# One target
./scripts/build.sh linux-appimage
./scripts/build.sh linux-deb
./scripts/build.sh macos
./scripts/build.sh windowsAppImage builds must run with NO_STRIP=1 because of the RELR relocation behavior. The linux-appimage path in scripts/build.sh sets this. If you build AppImage manually:
NO_STRIP=1 cargo tauri build --target x86_64-unknown-linux-gnuWithout NO_STRIP=1, the AppImage may fail to launch.
- Built via
macos-dmg.yml(separate fromrelease.yml). - Apple Silicon (aarch64) DMG is the recommended artifact and the only one the current CI/release workflow produces.
- Intel DMG is deferred and not currently produced.
- Alpha is unsigned; Gatekeeper bypass on first launch.
- NSIS
setup.exeis the recommended installer. -
.msiand portable.exeare also produced. - Alpha is unsigned → SmartScreen warning on first run.
All artifacts must report the same version from three files (see Release Process):
jellyx-desktop/Cargo.tomljellyx-desktop/tauri.conf.jsonui/package.json
Known (v0.3.2): These files reported
0.3.1at thev0.3.2tag, so the v0.3.2 build's About page may show0.3.1.
After CI uploads assets, run scripts/validate-release.sh with the required arguments — release tag, release title, and the expected asset filenames:
./scripts/validate-release.sh vX.Y.Z "Jellyx X.Y.Z" Jellyx_X.Y.Z_amd64.deb Jellyx_X.Y.Z_amd64.rpm Jellyx-X.Y.Z.AppImage Jellyx-X.Y.Z.tar.gz JellyxSetup_X.Y.Z_x64.exe Jellyx-X.Y.Z.msi Jellyx-X.Y.Z_portable.exe Jellyx_aarch64.dmgThe CI job (release.yml / macos-dmg.yml) supplies the expected asset list; pass the assets the release actually uploaded. This validates the release title and that the expected assets are present.
- Building from Source — prerequisites and dev build
- Release Process — tagging and release checklist
- Platform Support — what users should download