-
Notifications
You must be signed in to change notification settings - Fork 2.4k
feat: add flatpak support for linux #6387
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
Signed-off-by: The-Best-Codes <[email protected]>
|
If anyone is manually testing this on Linux, you can run this: npm run make -- --platform=linux --targets=@electron-forge/maker-flatpakTo skip the rpm and deb builds and just test with flatpak. |
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
The-Best-Codes
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.
Ready for review
Signed-off-by: The-Best-Codes <[email protected]>
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.
Pull request overview
This PR adds Flatpak support to the Linux desktop app distribution, enabling Linux users to install goose via Flatpak and prepare for potential Flathub registry inclusion. The implementation adds the necessary Electron Forge maker, configures the Flatpak build with runtime version 25.08, and updates the CI workflow to build and upload Flatpak packages.
Key Changes:
- Adds
@electron-forge/maker-flatpakdependency to package.json - Configures Flatpak builder in forge.config.ts with permissions, runtime settings, and a custom libbz2 shim
- Updates Linux CI workflow to install Flatpak tools and build .flatpak packages
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| ui/desktop/package.json | Adds @electron-forge/maker-flatpak@^7.10.2 as a dev dependency |
| ui/desktop/package-lock.json | Adds flatpak maker and related dependencies (@malept/electron-installer-flatpak, @malept/flatpak-bundler) with transitive dependencies |
| ui/desktop/forge.config.ts | Configures Flatpak maker with runtime 25.08, permissions (finishArgs), and custom libbz2-shim module |
| .github/workflows/bundle-desktop-linux.yml | Installs flatpak, flatpak-builder, and elfutils; adds Flathub remote; builds .flatpak package; uploads as separate artifact |
Files not reviewed (1)
- ui/desktop/package-lock.json: Language not supported
|
some strong suggestions from copilot here - are they relevant? (perhaps it does know about the actions - given it is made by github) but it is hard to know. |
|
@The-Best-Codes if you needed to test on a real action, could change or add a temporary workflow which targets this branch and runs it there (then can remove it when we know it works - I have done that before) as github actions are really a pain TBH to test |
|
@michaelneale As best I can tell, at least 4 of the 5 from Copilot are irrelevant 😅
Sounds like a plan. I will do that 👍 |
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
|
Also, for testing actions locally, if you've got a powerful enough machine, I highly recommend act :) |
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
|
@alexhancock Not ready to merge FYI. Thanks for reviewing! ❤️ |
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
The-Best-Codes
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.
If the tests pass, this is ready to merge now 😀
|
Ewww merge conflicts. Let me fix those. |
Signed-off-by: The-Best-Codes <[email protected]>
c02de4b to
3fa224c
Compare
|
|
Merge conflicts have been resolved by @The-Best-Codes , just needs final re-review! |
|
@taniandjerry If you stamp it as well we will have the requisite devrel approval (given the docs updates) and can merge. |
* main: fixed 0 token in openrouter steaming (#6493) feat(goose-acp): enable parallel sessions with isolated agent state (#6392) copilot instruction to flag prelease docs (#6504) docs: acp mcp support (#6491) feat: add flatpak support for linux (#6387) fix(code_execution): serialize record_result output as JSON (#6495) perf(google): avoid accumulating thoughtSignatures across conversation history (#6462) fix(openai): make tool_call arguments optional and fix silent stream termination (#6309) fix: Improve error messages for invalid tool calls (#6483)
…ased * 'main' of github.com:block/goose: Fix popular topics not starting chat when clicked (#6508) fix[desktop]: deeplink ui repeat on refresh (#6469) fixed test compilation on main branch (#6512) fix: correctly parse extension name from tool call for MCP apps (#6482) fixed 0 token in openrouter steaming (#6493) feat(goose-acp): enable parallel sessions with isolated agent state (#6392) copilot instruction to flag prelease docs (#6504) docs: acp mcp support (#6491) feat: add flatpak support for linux (#6387)
* 'main' of github.com:block/goose: (28 commits) chore(deps): bump aiohttp from 3.13.0 to 3.13.3 in /scripts/provider-error-proxy (#6539) chore(deps): bump brotli from 1.1.0 to 1.2.0 in /scripts/provider-error-proxy (#6538) docs: temp correction for agent directory (#6544) chore: upgrade rmcp (#6516) docs: clarify directory in /documentation readme (#6541) Release 1.20.0 Standalone mcp apps (#6458) don't add escaping to the command field (#6519) Fix popular topics not starting chat when clicked (#6508) fix[desktop]: deeplink ui repeat on refresh (#6469) fixed test compilation on main branch (#6512) fix: correctly parse extension name from tool call for MCP apps (#6482) fixed 0 token in openrouter steaming (#6493) feat(goose-acp): enable parallel sessions with isolated agent state (#6392) copilot instruction to flag prelease docs (#6504) docs: acp mcp support (#6491) feat: add flatpak support for linux (#6387) fix(code_execution): serialize record_result output as JSON (#6495) perf(google): avoid accumulating thoughtSignatures across conversation history (#6462) fix(openai): make tool_call arguments optional and fix silent stream termination (#6309) ...
Summary
Adding a
.flatpakto the Linux bundle. This allows Linux users to install goose easily via Flatpak, and goose can later be added to the Flathub registry.See related discussion in Discord:
https://discord.com/channels/1287729918100246654/1458170369163661608
Type of Change
AI Assistance
Testing
Manually testing and working on Arch Linux.