-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Add Linux desktop package building workflow #2826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Creates new workflow that builds both .deb and .rpm packages using Electron Forge - Runs on pushes to micn/linux-desktop-app branch and PRs affecting desktop code - Uses Ubuntu runner with necessary system dependencies - Builds goosed binary and copies to Electron app - Uploads packages as downloadable artifacts - Includes debugging output for troubleshooting
Ubuntu 24.04 (Noble) replaced libasound2 with libasound2t64
The lance-encoding crate requires protoc to build
|
I downloaded the .zip for for Debian |
- Convert bundle-desktop-linux.yml to reusable workflow - Add Linux builds to release.yml and canary.yml workflows - Add fake-release.yml to test integration - Linux packages (.deb/.rpm) will now be included in releases
- Add cleanup step to remove build artifacts after Rust build - This should prevent 'No space left on device' error during Electron build
- Remove package-lock.json and node_modules before install - Use npm install instead of npm ci - Clear npm cache to resolve rollup/vite module loading issues - This addresses the @rollup/rollup-linux-x64-gnu and vite ES module errors
- Pin to 9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9 (v1) - Consistent with other workflows that pin actions to specific SHAs
- Pre-build cleanup: Remove dotnet, android, ghc, boost directories - Post-Rust cleanup: Remove all build artifacts except binary - Final cleanup: Remove entire target directory after copying binary - Clean cargo registry and git caches - This should prevent disk space issues during Electron build
kalvinnchau
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one minor comment, but LGTM!! 🔥
cleaning up
|
merging now - if this causes a problem with next release - can remove it from release.yml and canary.yml from the list of things to build |
* upstream/main: (26 commits) docs: add CLI token usage (block#2857) Add Linux desktop package building workflow (block#2826) fix: large sessions summarize/truncate (block#2846) Fix: Adding dark mode support for recipe modal (block#2853) fix just (block#2849) add temporal service to builds. (block#2842) fix: added url encoding and decoding for goose recipe url (block#2845) claude 4 listing (block#2843) fix: Use the existing spinner in interactive mode (block#2829) chore(release): release version 1.0.27 (block#2844) Revert "Mnovich/temporal scheduler (block#2745)" (block#2839) chore(release): release version 1.0.26 (block#2833) Removed ui-v2 directory and updated project to use node in hermit and readme (block#2831) Mnovich/temporal scheduler (block#2745) fix: intel builds (block#2832) chore(release): release version 1.0.25 (block#2811) Nostrbook MCP is now on npm (block#2816) Update macOS install guide with Homebrew instructions (block#2823) remember window position (block#2808) feat(ui): put the scheduler behind an alpha (block#2810) ...
* main: docs: add CLI token usage (#2857) Add Linux desktop package building workflow (#2826) fix: large sessions summarize/truncate (#2846) Fix: Adding dark mode support for recipe modal (#2853) fix just (#2849) add temporal service to builds. (#2842) fix: added url encoding and decoding for goose recipe url (#2845) claude 4 listing (#2843) fix: Use the existing spinner in interactive mode (#2829) chore(release): release version 1.0.27 (#2844) Revert "Mnovich/temporal scheduler (#2745)" (#2839) chore(release): release version 1.0.26 (#2833) Removed ui-v2 directory and updated project to use node in hermit and readme (#2831) Mnovich/temporal scheduler (#2745) fix: intel builds (#2832) chore(release): release version 1.0.25 (#2811)
Signed-off-by: Soroosh <[email protected]>
This PR adds a new GitHub workflow to build Linux desktop packages (.deb and .rpm files) for the Electron app.
Changes
Testing
This workflow is currently configured to run on this specific branch for testing. Once verified, it can be updated to run on appropriate triggers.
The workflow should:
EDIT: this is to test out building of linux desktop packages, once ready, it will be part of release on main
you can find rpm and deb files here: https://github.com/block/goose/actions/runs/15526901766?pr=2826