Skip to content

fix(release): add linux musl targets#829

Merged
jdx merged 2 commits intomainfrom
fix/release-musl-targets
Apr 16, 2026
Merged

fix(release): add linux musl targets#829
jdx merged 2 commits intomainfrom
fix/release-musl-targets

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Apr 16, 2026

Summary

  • add x86_64-unknown-linux-musl to the release workflow
  • add aarch64-unknown-linux-musl to the release workflow
  • publish Alpine-friendly release artifacts alongside the existing GNU Linux builds

Validation

  • cross build --target x86_64-unknown-linux-musl --features git2/vendored-libgit2,git2/vendored-openssl
  • actionlint .github/workflows/release.yml

Closes #828


Note

Low Risk
Workflow-only change that expands the CI build matrix; main risk is longer builds or target-specific build failures.

Overview
The release workflow now builds additional Linux musl binaries by adding x86_64-unknown-linux-musl and aarch64-unknown-linux-musl to the build-binaries matrix (using cross).

This expands the set of published artifacts to include Alpine-friendly builds alongside the existing GNU Linux, macOS, and Windows targets.

Reviewed by Cursor Bugbot for commit a3acff0. Bugbot is set up for automated code reviews on this repo. Configure here.

@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
Copy link
Copy Markdown

greptile-apps Bot commented Apr 16, 2026

Greptile Summary

Adds x86_64-unknown-linux-musl and aarch64-unknown-linux-musl to the release build matrix in release.yml, enabling Alpine-compatible static binaries. Both new entries correctly use cross as the build tool (consistent with the existing GNU Linux entries) and inherit the git2/vendored-libgit2,git2/vendored-openssl features already set on the action, which are required for musl compatibility.

Confidence Score: 5/5

Safe to merge — workflow-only change with no logic impact on existing targets.

No P0 or P1 findings. The two new musl matrix entries mirror the existing GNU Linux entries exactly (same cross build tool, same runner), and the vendored-libgit2/vendored-openssl features already present on the action satisfy musl's static-linking requirement. The change is low-blast-radius: a build failure for the new targets would not affect any existing targets due to fail-fast: false.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/release.yml Adds two musl Linux targets to the build matrix; configuration is consistent with existing GNU Linux entries and musl-required vendored features are already in place.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[release.yml triggered] --> B[build-binaries matrix]
    B --> C[aarch64-apple-darwin\ncargo]
    B --> D[x86_64-unknown-linux-musl\ncross NEW]
    B --> E[aarch64-unknown-linux-musl\ncross NEW]
    B --> F[x86_64-unknown-linux-gnu\ncross]
    B --> G[aarch64-unknown-linux-gnu\ncross]
    B --> H[x86_64-pc-windows-msvc\ncargo]
    B --> I[aarch64-pc-windows-msvc\ncargo]
    C & D & E & F & G & H & I --> J[Upload binary artifact]
    K[build-pkl] --> L[Upload pkl artifact]
    J & L --> M[create-release]
    M --> N[enhance-release]
Loading

Reviews (1): Last reviewed commit: "Merge branch 'main' into fix/release-mus..." | Re-trigger Greptile

@jdx jdx enabled auto-merge (squash) April 16, 2026 14:03
@jdx jdx merged commit a47ae6b into main Apr 16, 2026
20 checks passed
@jdx jdx deleted the fix/release-musl-targets branch April 16, 2026 14:10
@jdx jdx mentioned this pull request Apr 16, 2026
jdx added a commit that referenced this pull request Apr 16, 2026
### 🚀 Features

- **(harper)** add harper-cli config to hk builtin config by
[@hituzi-no-sippo](https://github.com/hituzi-no-sippo) in
[#714](#714)

### 🐛 Bug Fixes

- **(release)** add linux musl targets by [@jdx](https://github.com/jdx)
in [#829](#829)

### 🔍 Other Changes

- drop sub-crate submodules and publish hk to crates.io by
[@jdx](https://github.com/jdx) in
[#830](#830)

### 📦️ Dependency Updates

- lock file maintenance by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#826](#826)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Primarily a version/release bookkeeping change (docs, generated CLI
metadata, and lockfiles) with no runtime logic modifications in this
diff.
> 
> **Overview**
> Cuts release `v1.43.0` by bumping the crate version in
`Cargo.toml`/`Cargo.lock` and updating `CHANGELOG.md` with the 1.43.0
notes.
> 
> Regenerates versioned references across docs and CLI artifacts (e.g.,
`docs/*`, `docs/cli/*`, example `.pkl` files, and `hk.usage.kdl`) to
point at `v1.43.0` Pkl package URLs. Updates `mise.lock` to include
provenance metadata for the `communique` linux x64 artifact.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
f4e6c35. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: mise-en-dev <[email protected]>
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