Skip to content

Re-enable Linux arm64 release artifacts - #187

Open
donbeave wants to merge 1 commit into
kaplanelad:mainfrom
donbeave:reenable-aarch64-linux-release
Open

Re-enable Linux arm64 release artifacts#187
donbeave wants to merge 1 commit into
kaplanelad:mainfrom
donbeave:reenable-aarch64-linux-release

Conversation

@donbeave

Copy link
Copy Markdown
Contributor

Summary

  • add native aarch64-linux to the release matrix using ubuntu-24.04-arm
  • wire npm/cli-linux-arm64 through validation, artifacts, publishing, optional dependencies, and the npm launcher
  • add package.metadata.binstall so existing release archives are discoverable by cargo binstall shellfirm
  • document the cargo binstall shellfirm prebuilt install path

Closes #179

Verification

  • cargo package --locked --allow-dirty -p shellfirm
  • cargo binstall shellfirm --manifest-path shellfirm/Cargo.toml --target aarch64-apple-darwin --dry-run --no-confirm --log-level info downloaded the GitHub release binary
  • cargo binstall shellfirm --manifest-path shellfirm/Cargo.toml --target x86_64-apple-darwin --dry-run --no-confirm --log-level info downloaded the GitHub release binary
  • cargo binstall shellfirm --manifest-path shellfirm/Cargo.toml --target x86_64-unknown-linux-gnu --dry-run --no-confirm --log-level info downloaded the GitHub release binary
  • cargo binstall shellfirm --manifest-path shellfirm/Cargo.toml --target aarch64-unknown-linux-gnu --dry-run --no-confirm --log-level info falls back to source for v0.3.10 as expected because that release does not yet include shellfirm-v0.3.10-aarch64-linux.tar.xz
  • native Linux arm64 Docker proof: cargo test --release --locked --target aarch64-unknown-linux-gnu, cargo build --release --locked --target aarch64-unknown-linux-gnu, strip, archive as shellfirm-v0.3.10-aarch64-linux.tar.xz, shellfirm --version, and file all passed; produced an ELF 64-bit LSB pie executable, ARM aarch64
  • Linux x64 Docker proof: cargo build --release --locked --target x86_64-unknown-linux-gnu, strip, shellfirm --version, and file passed; produced an ELF 64-bit LSB pie executable, x86-64
  • macOS local proof: cargo build --release --locked --target aarch64-apple-darwin and cargo build --release --locked --target x86_64-apple-darwin passed; file reports Mach-O 64-bit executable arm64 and Mach-O 64-bit executable x86_64
  • ruby -e 'require "yaml"; YAML.load_file(".github/workflows/release.yml"); puts "release workflow yaml ok"'

@donbeave
donbeave force-pushed the reenable-aarch64-linux-release branch from 4021760 to f6999d1 Compare June 24, 2026 06:39
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.

Re-enable aarch64-linux release artifact

1 participant