Skip to content

feat(release): build static Linux x64 binaries with musl#3274

Merged
Hmbown merged 1 commit into
Hmbown:mainfrom
wavezhang:feat/gh-actions-musl-static
Jun 18, 2026
Merged

feat(release): build static Linux x64 binaries with musl#3274
Hmbown merged 1 commit into
Hmbown:mainfrom
wavezhang:feat/gh-actions-musl-static

Conversation

@wavezhang

Copy link
Copy Markdown
Contributor

Summary

Switch Linux x64 release builds from dynamic glibc (x86_64-unknown-linux-gnu) to static musl (x86_64-unknown-linux-musl) in the GitHub Actions release workflow.

This is the GitHub Actions counterpart to PR #2903 which added musl static builds to the CNB pipeline (.cnb.yml).

Changes

Area Before After
Matrix target (codewhale) x86_64-unknown-linux-gnu x86_64-unknown-linux-musl
Matrix target (codewhale-tui) x86_64-unknown-linux-gnu x86_64-unknown-linux-musl
Linux deps install All Linux targets Exclude musl (no libdbus needed)
Build step Single generic cargo build Dedicated musl step + generic step (skip musl)

Details

  • Matrix: Change target for codewhale-linux-x64 and codewhale-tui-linux-x64 from gnu to musl
  • Dedicated musl build step: Installs musl-tools, adds x86_64-unknown-linux-musl target, then builds
  • Skip libdbus for musl: The keyring feature is already gated behind target != musl in crates/secrets (from PR feat: build static linux x64 binaries with musl #2903), so no libdbus-1-dev needed
  • Skip generic Build step for musl: The dedicated step handles musl builds; generic step runs for all other targets

Why

Static musl binaries have no glibc/libdbus runtime dependency and run on any Linux distribution without additional packages — matching what the CNB pipeline already produces.

Testing

This change mirrors the CNB pipeline approach (PR #2903, merged). The GitHub Actions workflow will be validated on the next release dispatch.

@wavezhang wavezhang requested a review from Hmbown as a code owner June 17, 2026 01:04
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@github-actions

Copy link
Copy Markdown

Thanks @wavezhang for taking the time to contribute.

This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered.

Please read CONTRIBUTING.md for the expected contribution shape. A maintainer can grant recurring PR access by commenting /lgtm on a pull request.

Switch Linux x64 release builds from dynamic glibc (x86_64-unknown-linux-gnu)
to static musl (x86_64-unknown-linux-musl) in GitHub Actions release workflow.

- Change matrix target for codewhale and codewhale-tui linux-x64 to musl
- Add dedicated musl build step: install musl-tools, add musl target
- Skip libdbus-1-dev install for musl targets (keyring gated at compile time)
- Skip generic Build step for musl (handled by dedicated step)
- Parity with CNB pipeline (.cnb.yml) which already uses musl (PR Hmbown#2903)

Static binaries have no glibc/libdbus runtime dependency and run on any
Linux distribution without additional packages.
@wavezhang wavezhang force-pushed the feat/gh-actions-musl-static branch from 7572bd1 to 814a922 Compare June 17, 2026 01:04

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@Hmbown

Hmbown commented Jun 18, 2026

Copy link
Copy Markdown
Owner

thank you for this!!

@Hmbown Hmbown merged commit 6384deb into Hmbown:main Jun 18, 2026
9 checks passed
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.

2 participants