Skip to content

build(ci): Build linux-arm64 on GitHub's native arm64 runners - #662

Merged
notheotherben merged 1 commit into
mainfrom
claude/github-native-arm64-target-fiwshk
Aug 23, 2026
Merged

build(ci): Build linux-arm64 on GitHub's native arm64 runners#662
notheotherben merged 1 commit into
mainfrom
claude/github-native-arm64-target-fiwshk

Conversation

@notheotherben

Copy link
Copy Markdown
Member

Switches the linux-arm64 build from cross to GitHub's native arm64 runners (ubuntu-24.04-arm, free for public repositories).

What changed

  • build matrix: the arm64 Linux entry now runs on ubuntu-24.04-arm and builds aarch64-unknown-linux-gnu natively.
  • Removed the cargo-binstall/cross install step, along with the comment documenting why it had to be ordered before the cache restore (binstall would otherwise see cross as installed and skip materialising the binary).
  • With every entry now building with cargo, the builder matrix key is gone.

No extra setup is needed for the target: the dependency graph is pure Rust apart from aws-lc-sys, which builds against the runner's own toolchain the same way it does on the amd64 entry.

Why

The arm64 build was the only reason the workflow installed cross at all, and keeping that install correct required careful ordering against Swatinem/rust-cache. On a native arm64 runner the target builds with exactly the same steps as every other entry in the matrix.

Verification

CI on this PR builds linux-arm64 on the native runner; the release-only steps (artifact upload, Docker packaging) are unchanged and consume the same artifact name as before.


Generated by Claude Code

The aarch64 build was the only entry in the matrix that needed `cross`,
and paying for it meant installing cargo-binstall and cross on every
run, ordered carefully around the cache restore so that binstall didn't
skip an install whose binary was never actually materialised.

GitHub now hosts arm64 Linux runners, so the target can simply be built
natively on `ubuntu-24.04-arm` with the same steps every other entry in
the matrix uses. With nothing left to switch on, the `builder` matrix
key goes too.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 23, 2026 19:48
@notheotherben
notheotherben enabled auto-merge (squash) August 23, 2026 19:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This pull request simplifies the CI build workflow by switching the Linux ARM64 build from cross to GitHub Actions’ native ARM64 runner (ubuntu-24.04-arm), making the ARM64 build follow the same native cargo build flow as the other matrix entries.

Changes:

  • Migrated the linux-arm64 matrix entry to run natively on ubuntu-24.04-arm and build aarch64-unknown-linux-gnu with cargo.
  • Removed the builder matrix key and the conditional cross installation step (and its cache-ordering workaround comment).
  • Standardized the build step to always run cargo build --release --target ....

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@notheotherben
notheotherben merged commit 53f55ef into main Aug 23, 2026
9 checks passed
@notheotherben
notheotherben deleted the claude/github-native-arm64-target-fiwshk branch August 23, 2026 19:51
@codecov

codecov Bot commented Aug 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.83%. Comparing base (cb1c640) to head (5aa7d41).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #662   +/-   ##
=======================================
  Coverage   76.83%   76.83%           
=======================================
  Files          31       31           
  Lines        2612     2612           
=======================================
  Hits         2007     2007           
  Misses        605      605           

☔ View full report in Codecov by Harness.
📢 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.

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.

3 participants