Add Linux musl CLI builds#9240
Conversation
Build reduced-feature musl CLI artifacts for Linux x86_64 and aarch64, and teach the installer and self-update command to select musl archives on musl-based systems. Signed-off-by: jh-block <jhugo@block.xyz>
Keep the local model config key available when local inference is disabled so reduced-feature CLI builds compile. Signed-off-by: jh-block <jhugo@block.xyz>
| if [ "${{ matrix.variant }}" = "musl" ]; then | ||
| cargo build --release --target ${TARGET} -p goose-cli --bin goose \ | ||
| --no-default-features \ | ||
| --features rustls-tls,aws-providers,telemetry,otel |
There was a problem hiding this comment.
would this be easier to maintain if defined in Cargo.toml as a default-musl feature that enables these?
There was a problem hiding this comment.
Yeah that seems reasonable, especially as I'd like if we could eventually support more features on musl. I'll do it
3f70fe7 to
252d11b
Compare
Pass the atomic runtime link flag for the aarch64 musl CLI target so dbus C objects can resolve GCC atomic helper symbols. Signed-off-by: jh-block <jhugo@block.xyz>
252d11b to
2bcb368
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2bcb3682df
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Keep musl auto-detection tied to active runtime signals and move the aarch64 musl libatomic link directive into the goose binary crate. Signed-off-by: jh-block <jhugo@block.xyz>
13f991b to
44fc3f0
Compare
Signed-off-by: jh-block <jhugo@block.xyz>
Signed-off-by: jh-block <jhugo@block.xyz>
CLI BuildsDownload CLI builds for different platforms:
These links are provided by nightly.link and will work even if you're not logged into GitHub. |
* origin/main: (160 commits) Add Linux musl CLI builds (#9240) feat(acp): paginate session list (#9199) docs: reorganize (#9310) Structured per-provider config block, non-destructive provider switching (#8977) feat(cli): add `goose review` local code review command (#9114) feat(tui): diff viewer (#9260) fix(otel): emit trace_output as span attribute instead of event (#9255) docs: add guide for connecting goose Desktop to a remote goosed server (#9275) fix(config): check file fallback when keyring has no entry (#9279) fix(desktop): ScheduleModal error message styling (#9278) fix(ui): align sidebar hamburger in macOS fullscreen (#9257) Add documentation for new provider SaladCloud AI Gateway (#9253) fix: use current_exe() instead of PATH lookup when spawning goose (#9236) fix(extension_manager): set TCP_USER_TIMEOUT on streamable HTTP clients (#9207) fix: activate custom provider after adding via configure (#9213) Flush OTLP traces reliably on exit with configurable timeout (#9228) fix: reduce excessive MISSING_TRANSLATION warnings for fallback locales (#9294) feat(acp): pass session cwd param to acp providers (#9229) fix(desktop): eliminate cross-window deep link contamination (#9273) fix: improve Telegram gateway error reporting and connection reliability (#9223) ... Signed-off-by: Michael Neale <michael.neale@gmail.com> # Conflicts: # crates/goose/src/agents/agent.rs # crates/goose/tests/agent.rs
* main: (70 commits) Feat/summon subagent instructions (#9325) feat: open-plugins generalization + skills (#9112) feat(hooks): PreToolUse denial (#9304) Add support for optional api_key configuration for declarative openai-engine providers (#9202) fix(cli): use plain '> ' prompt instead of goose emoji (#9305) flag for login shell PATH (#9313) Remove popular chat topics from new chat screen (#9307) fix: stop killing goosed when a window closes (#9302) Remove vendored Windows binaries (#9318) Add Linux musl CLI builds (#9240) feat(acp): paginate session list (#9199) docs: reorganize (#9310) Structured per-provider config block, non-destructive provider switching (#8977) feat(cli): add `goose review` local code review command (#9114) feat(tui): diff viewer (#9260) fix(otel): emit trace_output as span attribute instead of event (#9255) docs: add guide for connecting goose Desktop to a remote goosed server (#9275) fix(config): check file fallback when keyring has no entry (#9279) fix(desktop): ScheduleModal error message styling (#9278) fix(ui): align sidebar hamburger in macOS fullscreen (#9257) ...
Build reduced-feature musl CLI artifacts for Linux x86_64 and aarch64, and teach the installer and self-update command to select musl archives on musl-based systems.
Fixes #9072
Includes a commit to fix building without local-inference (needed for the musl build currently)