Skip to content

GTST-16 feat: switch Linux targets to musl for static linking#12

Merged
MonteYin merged 1 commit intomainfrom
GTST-16.feat/musl-static-linking
Mar 25, 2026
Merged

GTST-16 feat: switch Linux targets to musl for static linking#12
MonteYin merged 1 commit intomainfrom
GTST-16.feat/musl-static-linking

Conversation

@MonteYin
Copy link
Copy Markdown
Owner

Summary

Linux release binaries were dynamically linking OpenSSL, causing runtime errors on clean systems. Switch to musl targets for fully static binaries.

Changes

  • x86_64-unknown-linux-gnux86_64-unknown-linux-musl
  • aarch64-unknown-linux-gnuaarch64-unknown-linux-musl
  • Add vendored-openssl feature with optional openssl-sys vendored
  • Cross builds use --features vendored-openssl
  • Remove OpenSSL install steps from workflow
  • Simplify Cross.toml

Test plan

  • Merge, delete v0.1.0, re-tag, verify all 3 builds pass
  • Run musl binary in clean ubuntu:22.04 Docker — should work without libssl

- Change x86_64-unknown-linux-gnu → x86_64-unknown-linux-musl
- Change aarch64-unknown-linux-gnu → aarch64-unknown-linux-musl
- Add vendored-openssl feature (optional openssl-sys with vendored)
- Cross builds use --features vendored-openssl for self-contained binaries
- Remove OpenSSL-specific install steps from release workflow
- Simplify Cross.toml (musl images handle dependencies)
- Resulting Linux binaries are fully static with zero runtime deps
@MonteYin MonteYin merged commit 14074aa into main Mar 25, 2026
4 checks passed
@MonteYin MonteYin deleted the GTST-16.feat/musl-static-linking branch March 25, 2026 07:56
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.

1 participant