Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

feat: build macOS release binaries#357

Open
AlJohri wants to merge 1 commit intoLukeMathWalker:mainLukeMathWalker/cargo-chef:mainfrom
AlJohri:add-macos-buildsAlJohri/cargo-chef:add-macos-buildsCopy head branch name to clipboard
Open

feat: build macOS release binaries#357
AlJohri wants to merge 1 commit intoLukeMathWalker:mainLukeMathWalker/cargo-chef:mainfrom
AlJohri:add-macos-buildsAlJohri/cargo-chef:add-macos-buildsCopy head branch name to clipboard

Conversation

@AlJohri
Copy link
Copy Markdown

@AlJohri AlJohri commented May 7, 2026

Summary

Add aarch64-apple-darwin and x86_64-apple-darwin to dist-workspace.toml so each release ships prebuilt macOS binaries alongside the Linux ones. dist already maps these targets to the appropriate GitHub-hosted runners (macos-14 for arm64, macos-15-intel for x86_64), so no other changes are needed.

Background

  • The pre-dist release workflow (publish_binaries.yml, removed in Modernize publishing pipeline #330 "Modernize publishing pipeline") published x86_64-apple-darwin via taiki-e/upload-rust-binary-action.
  • The replacement dist-based pipeline only listed Linux targets, so since v0.1.74 every release has been Linux-only. I couldn't find any issue or PR discussion indicating macOS was intentionally dropped — looks like an oversight during the modernization.
  • I checked open issues/PRs for explicit "no macOS" reasoning and didn't find any; the closest related thread is cargo install cargo-chef --locked will not install on rust < 1.88 for versions > 0.1.74 #356 (users hitting cargo install MSRV problems, who would benefit from prebuilt binaries).

Asset naming / mise compatibility

dist produces cargo-chef-aarch64-apple-darwin.tar.xz and cargo-chef-x86_64-apple-darwin.tar.xz by default. The mise GitHub backend (docs) recognizes the standard Rust target-triple substrings out of the box, so users will be able to do:

mise use ubi:LukeMathWalker/cargo-chef

…on macOS without any additional asset_pattern configuration. This matches the convention used by e.g. kunobi-ninja/kache.

Verification

Locally regenerated CI with dist generate (no diff, since the matrix is computed at runtime from dist-workspace.toml) and confirmed via dist plan:

aarch64-apple-darwin  -> macos-14
x86_64-apple-darwin   -> macos-15-intel
aarch64-unknown-linux-gnu  -> ubuntu-22.04-arm
aarch64-unknown-linux-musl -> ubuntu-22.04-arm
x86_64-unknown-linux-gnu   -> ubuntu-22.04
x86_64-unknown-linux-musl  -> ubuntu-22.04

Test plan

  • CI green on this PR (the release workflow runs on pull_request, exercising the build matrix without publishing).
  • On the next tagged release, confirm the GitHub Release contains cargo-chef-aarch64-apple-darwin.tar.xz and cargo-chef-x86_64-apple-darwin.tar.xz (plus their .sha256 files).
  • After release, verify mise use ubi:LukeMathWalker/cargo-chef resolves the right asset on an Apple Silicon and an Intel Mac.

Add aarch64-apple-darwin and x86_64-apple-darwin to dist targets so
each release ships prebuilt macOS binaries alongside the Linux ones.
The previous release pipeline (taiki-e/upload-rust-binary-action)
published x86_64-apple-darwin until it was replaced by dist in LukeMathWalker#330,
which only configured Linux targets.

Asset names follow dist's default <bin>-<target-triple>.tar.xz scheme,
which mise's github backend recognizes out of the box.
@AlJohri
Copy link
Copy Markdown
Author

AlJohri commented May 7, 2026

lmk if you want me to remove from the pr x86_64-apple-darwin, I think its going to be removed from gh ci in august 2027 (actions/runner-images#13045)

@AlJohri AlJohri marked this pull request as ready for review May 7, 2026 13:02
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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.