Add Ubuntu desktop release artifacts - #693
Merged
tlongwell-block merged 1 commit intoMay 21, 2026
Merged
Conversation
Signed-off-by: benthecarman <benthecarman@live.com>
benthecarman
force-pushed
the
add-ubuntu-desktop-release
branch
from
May 20, 2026 23:22
ac377ea to
8db5001
Compare
Collaborator
|
Thanks, @benthecarman! Please let me know if this release works on your linux machine |
Contributor
Author
|
both the app image and deb work 🚀 |
tlongwell-block
added a commit
that referenced
this pull request
May 21, 2026
Bring pulse-front-back up to date with main prior to opening a PR. Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com> Co-authored-by: Dawn (sprout agent) <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co> * origin/main: (35 commits) feat(sprout-agent): auto-fallback to Databricks OAuth (#699) fix(relay): avoid websocket writes in stall watchdog (#697) feat(sprout-agent): Databricks provider with OAuth 2.0 PKCE auth (#698) Add Ubuntu desktop release artifacts (#693) chore(deps): update rust crate tokio to v1.52.3 (#658) chore(deps): update all non-major dependencies (#650) chore(deps): update rust crate sherpa-onnx to v1.13.2 (#657) chore(deps): update dependency nostr-tools to v2.23.5 (#681) chore(deps): update tanstack-router monorepo (#659) chore(deps): update rust crate dashmap to v6.2.1 (#652) chore(deps): update rust crate tower-http to v0.6.11 (#647) chore(deps): update rust crate reqwest to v0.13.3 (#639) chore(deps): update rust crate sherpa-onnx to v1.12.40 (#640) chore(deps): update dependency @tanstack/react-query to v5.100.11 (#635) fix(deps): update rust crate sha2 to 0.11 (#665) fix(deps): update rust crate bzip2 to 0.6 (#661) chore(deps): update rust crate uuid to v1.23.1 (#648) chore(deps): update rust crate tauri-plugin-dialog to v2.7.1 (#644) chore(deps): update tanstack-router monorepo (#649) chore(deps): update rust crate tokio to v1.51.3 (#646) ...
This was referenced May 28, 2026
3 tasks
tlongwell-block
added a commit
that referenced
this pull request
Aug 3, 2026
…#4524) ## Summary Official Linux desktop packages (`.deb` / AppImage) are built without `--features mesh-llm`, so they ship the `mesh_llm_stubs` backend and Settings → Compute always fails with `mesh-llm feature not enabled`. This PR adds the feature flag to the two Linux build commands: - `release.yml` → `release-linux` job - `linux-canary.yml` → canary build That's the whole diff — 2 lines. Fixes #3788 (Linux); see also #3841 (dup with UI-gating PR #3914) and the Windows twin #2836/#3223. ## Why no native prebuild step (unlike the macOS job) The macOS job carries Metal llama prebuild/cache steps from #798. Linux doesn't need an equivalent: - `mesh-llm-host-runtime` is compiled with `dynamic-native-runtime` and installs the recommended runtime on first use (verified by sha256 checksum over HTTPS; upstream's signature verification path is not yet implemented — default policy is `RequireChecksum`, per `mesh-llm-runtime-install/src/lib.rs`) (`desktop/src-tauri/src/mesh_llm/mod.rs` — `initialize_mesh_native_runtime`), so release builds work on clean machines without bundling llama.cpp. - Upstream publishes Linux x86_64/aarch64 runtime bundles for the pinned `v0.74.0` line, and `scripts/ensure-mesh-native-runtime.sh` already maps `meshllm-native-runtime-linux-x86_64-cpu` / `linux-aarch64-cpu` for local/e2e use. - The unmerged branch `micn/mesh-node-download` (`96f29417a`) treats even the macOS prebuild steps as removable dead weight for the same reason. ## Background The omission is historical drift, not a decision: Linux packaging predates the mesh feature flag (#693), mesh became opt-in for build-cost/reliability reasons (#823, #1183), and #1221 re-enabled it for releases by editing only the macOS build line. `release-linux` and the later `linux-canary` copy were never revisited. The mesh shutdown hard-exit/relaunch path is gated `all(mesh-llm, target_os = "macos")` because ggml/Metal destructors abort on macOS; ordinary mesh shutdown (`shutdown_mesh_runtime`) is cross-platform, so Linux falls through to the generic path. ## Validation - [x] `./bin/cargo check --manifest-path desktop/src-tauri/Cargo.toml --features mesh-llm` green at base `2c0ac2467` (feature graph compiles at the pinned v0.74.0 line) - [ ] Linux canary run with this change: AppImage/.deb build succeeds and binary contains real `mesh_llm` symbols (not `mesh_llm_stubs`) - [ ] Installed package: cold-start → Settings → Compute → runtime download → serve → clean shutdown The last two need a Linux run/host. **Note (from review):** `linux-canary.yml` is `workflow_dispatch`-only and its `Require main` step rejects non-main refs, so the canary cannot run on this branch pre-merge — and `.github/workflows/**` matches no ci.yml paths-filter, so this PR's own CI does not exercise the changed lines. Validation sequencing is therefore merge → dispatch linux-canary on main → live-package pass, with a trivial 2-line revert as the escape hatch. Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz> Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sprout's desktop release workflow currently publishes only the signed macOS DMG. This adds Ubuntu release artifacts so Linux users can install the desktop app from the same versioned GitHub release.
The new
release-linuxjob runs after the existing macOS release job. It reuses the Ubuntu Tauri dependency set from CI, patches the requested release version, builds the real sidecar binaries, bundles them intodesktop/src-tauri/binaries, and runs Tauri with--bundles deb,appimage. The generated.deband.AppImageare then uploaded to the existingv${VERSION}release.This deliberately leaves the current macOS updater flow unchanged. The rolling
sprout-desktop-latestrelease andlatest.jsongeneration still publish only the macOS updater archive; Linux auto-update support can be added separately if we want to define that update channel.I validated the workflow YAML locally with the repo's desktop
yamlpackage and confirmed the installed Tauri CLI supports--bundles deb,appimage. I did not run the full release workflow locally because it depends on GitHub release permissions and hosted runner packaging behavior.