Skip to content

Add Linux musl CLI builds#9240

Merged
jh-block merged 6 commits into
mainfrom
jhugo/add-linux-musl-cli-builds
May 19, 2026
Merged

Add Linux musl CLI builds#9240
jh-block merged 6 commits into
mainfrom
jhugo/add-linux-musl-cli-builds

Conversation

@jh-block
Copy link
Copy Markdown
Collaborator

@jh-block jh-block commented May 15, 2026

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)

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>
@jh-block jh-block requested a review from jamadeo May 15, 2026 08:06
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>
Comment thread .github/workflows/build-cli.yml Outdated
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
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would this be easier to maintain if defined in Cargo.toml as a default-musl feature that enables these?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that seems reasonable, especially as I'd like if we could eventually support more features on musl. I'll do it

@jh-block jh-block force-pushed the jhugo/add-linux-musl-cli-builds branch from 3f70fe7 to 252d11b Compare May 15, 2026 16:07
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>
@jh-block jh-block force-pushed the jhugo/add-linux-musl-cli-builds branch from 252d11b to 2bcb368 Compare May 15, 2026 16:44
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread download_cli.sh Outdated
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>
@jh-block jh-block force-pushed the jhugo/add-linux-musl-cli-builds branch from 13f991b to 44fc3f0 Compare May 18, 2026 10:21
jh-block added 2 commits May 18, 2026 14:14
Signed-off-by: jh-block <jhugo@block.xyz>
Signed-off-by: jh-block <jhugo@block.xyz>
@github-actions
Copy link
Copy Markdown
Contributor

@jh-block jh-block added this pull request to the merge queue May 19, 2026
Merged via the queue into main with commit bdb7d21 May 19, 2026
36 checks passed
@jh-block jh-block deleted the jhugo/add-linux-musl-cli-builds branch May 19, 2026 07:42
michaelneale added a commit that referenced this pull request May 19, 2026
* 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
lifeizhou-ap added a commit that referenced this pull request May 20, 2026
* 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)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Installer downloads glibc Linux binary on Alpine/musl and fails with missing symbols

2 participants