feat: Add Linux ARM64 (aarch64) build support#55
Merged
technicalpickles merged 3 commits intomainfrom Sep 11, 2025
Merged
Conversation
- Add aarch64-unknown-linux-gnu target to release workflow
- Use ubuntu-24.04-arm runner for native ARM64 builds
- Update test-release.sh to include ARM64 target for local testing
- Leverage existing infrastructure: rust-toolchain.toml already includes target
- Binary will be named: envsense-{version}-aarch64-unknown-linux-gnu
- Enables installation on AWS Graviton, Raspberry Pi, Apple Silicon Linux VMs
All existing build scripts and signing infrastructure work without changes.
- Package version: 0.3.4 → 0.4.0 (minor bump for new platform support) - Schema version: unchanged at 0.3.0 (no API changes) - Updated all workspace crates to maintain version consistency - Follows semantic versioning: new platform capability = minor version bump
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds Linux ARM64 (aarch64) build support to enable envsense distribution on ARM64 Linux systems. The version is bumped from 0.3.4 to 0.4.0 to reflect the new platform capability.
- Added ARM64 Linux as a supported build target in the release workflow
- Updated local testing script to include ARM64 target for test coverage parity
- Bumped package version across all workspace crates to 0.4.0
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/release.yml | Added ubuntu-24.04-arm runner with aarch64-unknown-linux-gnu target |
| scripts/test-release.sh | Added ARM64 target to local testing configuration |
| Cargo.toml | Bumped main package version from 0.3.4 to 0.4.0 |
| envsense-macros/Cargo.toml | Bumped macro package version from 0.3.4 to 0.4.0 |
| envsense-macros/envsense-macros-impl/Cargo.toml | Bumped macro implementation package version from 0.3.4 to 0.4.0 |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR adds Linux ARM64 (aarch64) build support to the release workflow, enabling envsense distribution on ARM64 Linux systems including AWS Graviton, Raspberry Pi, Apple Silicon Linux VMs, and other ARM64 platforms.
Version: Bumped to 0.4.0 to reflect the new platform capability (minor version bump per semantic versioning).
Changes Made
1. Release Workflow (
.github/workflows/release.yml)2. Local Testing Script (`scripts/test-release.sh`)
3. Version Bump (`Cargo.toml` and workspace crates)
What Was Already Ready ✅
The project's excellent architecture meant most components required zero changes:
Implementation Impact
With the next release, users will be able to install envsense on:
The ARM64 binary will be named: `envsense-0.4.0-aarch64-unknown-linux-gnu`
Testing
Risk Assessment
Very Low Risk:
Distribution Ready
The aqua package manager configuration already supports ARM64, so this will be immediately available to users upon release.