Skip to content

ci(release): add musl linux assets#127

Merged
jdx merged 1 commit intomainfrom
codex/add-musl-release-assets
Apr 26, 2026
Merged

ci(release): add musl linux assets#127
jdx merged 1 commit intomainfrom
codex/add-musl-release-assets

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Apr 26, 2026

Add musl Linux binaries to future communique GitHub releases.

Changes

  • Add x86_64-unknown-linux-musl to the release matrix.
  • Add aarch64-unknown-linux-musl to the release matrix.

Future releases should include these additional assets alongside the existing GNU Linux, macOS, and Windows builds:

  • communique-x86_64-unknown-linux-musl.tar.gz
  • communique-aarch64-unknown-linux-musl.tar.gz

Validation

  • actionlint .github/workflows/release.yml

@gemini-code-assist
Copy link
Copy Markdown

Note

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

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.66%. Comparing base (895878d) to head (b54436a).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #127   +/-   ##
=======================================
  Coverage   94.66%   94.66%           
=======================================
  Files          26       26           
  Lines        4708     4708           
  Branches     4708     4708           
=======================================
  Hits         4457     4457           
  Misses        160      160           
  Partials       91       91           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 26, 2026

Greptile Summary

This PR adds static musl Linux binaries (x86_64-unknown-linux-musl and aarch64-unknown-linux-musl) to the release asset matrix in .github/workflows/release.yml. The additions are minimal and follow the identical pattern established by the existing GNU Linux targets, reusing the same ubuntu-latest runner, taiki-e/setup-cross-toolchain-action, and taiki-e/upload-rust-binary-action steps.

Confidence Score: 5/5

Safe to merge — minimal, consistent matrix expansion with no logic changes.

The change adds two matrix entries that are structurally identical to the existing GNU Linux entries. The same runner, the same cross-compilation action, and the same upload action are all reused without modification. No custom logic, no new secrets, and no altered conditions are introduced.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/release.yml Adds x86_64-unknown-linux-musl and aarch64-unknown-linux-musl targets to the release matrix, following the exact same pattern as the existing GNU Linux targets

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[workflow_call trigger\n with tag input] --> B[upload-assets matrix job]
    B --> C{matrix.include}
    C --> D[aarch64-apple-darwin\nmacos-latest]
    C --> E[x86_64-unknown-linux-gnu\nubuntu-latest]
    C --> F[x86_64-unknown-linux-musl\nubuntu-latest NEW]
    C --> G[aarch64-unknown-linux-gnu\nubuntu-latest]
    C --> H[aarch64-unknown-linux-musl\nubuntu-latest NEW]
    C --> I[x86_64-pc-windows-msvc\nwindows-latest]
    C --> J[aarch64-pc-windows-msvc\nwindows-latest]
    D & E & F & G & H & I & J --> K[setup-cross-toolchain-action]
    K --> L{macOS?}
    L -- Yes --> M[upload-rust-binary-action\nwith codesign]
    L -- No --> N[upload-rust-binary-action\nno codesign]
    M & N --> O[GitHub Release Asset]
Loading

Reviews (1): Last reviewed commit: "ci(release): add musl linux assets" | Re-trigger Greptile

@jdx jdx merged commit d31f938 into main Apr 26, 2026
9 checks passed
@jdx jdx deleted the codex/add-musl-release-assets branch April 26, 2026 14:18
jdx added a commit that referenced this pull request Apr 26, 2026
A patch release that takes the LLM out of the loop when editing
`CHANGELOG.md` for tagged releases, fixes a section-boundary bug that
could mash release sections together, and adds musl Linux binaries to
the release matrix.

## Fixed

- **Place tagged release entries deterministically** — `communique
generate vX.Y.Z --changelog` no longer asks the model to rewrite
`CHANGELOG.md`. Instead, it parses the existing file, removes any prior
section for the target version, and inserts the new section immediately
after `## [Unreleased]` / `## Unreleased`. The new
`format_version_header` helper infers the existing header style (linked
`## [1.1.0](url) - date`, plain `## 1.1.0`, bracketed `## [1.1.0]`, with
or without dates) and matches it for the new entry, while the generated
changelog body is used verbatim. If the file is missing an Unreleased
anchor, the command now fails with an actionable error rather than
guessing a placement, and duplicate Unreleased sections are caught even
in `--dry-run`. ([#129](#129))
(@jdx)
- **Preserve changelog section boundaries** — Fixed a bug where
`--changelog` updates could concatenate a preserved release section onto
the previous bullet, producing lines like `...))## [1.0.4]`. Only
version-shaped `##` headings are now treated as release boundaries
(category headings like `## Added` / `## Fixed` are no longer mistaken
for them), regenerated heads and preserved tails are joined with an
explicit blank line, and any pre-existing joined boundaries are repaired
before writing. The malformed joins already present in this repo's own
`CHANGELOG.md` were also cleaned up.
([#126](#126)) (@jdx)

## Added

- **musl Linux release assets** — Future GitHub releases now include
`communique-x86_64-unknown-linux-musl.tar.gz` and
`communique-aarch64-unknown-linux-musl.tar.gz` alongside the existing
GNU Linux, macOS, and Windows builds.
([#127](#127)) (@jdx)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: this PR only updates release metadata (changelog,
crate/package versions, and generated CLI docs) with no functional code
changes.
> 
> **Overview**
> Adds a new `v1.1.2` entry to `CHANGELOG.md` describing fixes to
deterministic `--changelog` updates and section-boundary preservation,
plus added musl Linux release artifacts.
> 
> Bumps the project version from `1.1.1` → `1.1.2` in
`Cargo.toml`/`Cargo.lock`, the usage spec (`communique.usage.kdl`), and
generated CLI documentation (`docs/cli`).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
98c3f94. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
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