From 4e3c74497f6f9f62f00ca3308426e6b6a616881b Mon Sep 17 00:00:00 2001 From: David Kaya Date: Thu, 26 Mar 2026 00:06:07 +0100 Subject: [PATCH] feat: add macOS arm64 release build Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/release.yml | 17 +++++++++++++---- ARCHITECTURE.md | 2 +- README.md | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c3f5e6c..c97285b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,9 @@ jobs: - os: windows-latest label: Windows - os: macos-15-intel - label: macOS + label: macOS (x64) + - os: macos-15 + label: macOS (arm64) - os: ubuntu-latest label: Linux @@ -94,12 +96,19 @@ jobs: include: - os: windows-latest label: Windows + release_dir_name: Aryx-windows-x64 asset_path: release/Aryx-windows-x64.zip - os: macos-15-intel - label: macOS + label: macOS (x64) + release_dir_name: Aryx-macos-x64 asset_path: release/Aryx-macos-x64.zip + - os: macos-15 + label: macOS (arm64) + release_dir_name: Aryx-macos-arm64 + asset_path: release/Aryx-macos-arm64.zip - os: ubuntu-latest label: Linux + release_dir_name: Aryx-linux-x64 asset_path: release/Aryx-linux-x64.tar.gz steps: @@ -130,7 +139,7 @@ jobs: - name: Ad-hoc sign macOS app bundle if: runner.os == 'macOS' - run: codesign --force --deep --sign - release/Aryx-macos-x64/Aryx.app + run: codesign --force --deep --sign - "release/${{ matrix.release_dir_name }}/Aryx.app" - name: Create Windows release archive if: runner.os == 'Windows' @@ -139,7 +148,7 @@ jobs: - name: Create macOS release archive if: runner.os == 'macOS' - run: ditto -c -k --sequesterRsrc --keepParent release/Aryx-macos-x64/Aryx.app release/Aryx-macos-x64.zip + run: ditto -c -k --sequesterRsrc --keepParent "release/${{ matrix.release_dir_name }}/Aryx.app" "${{ matrix.asset_path }}" - name: Create Linux release archive if: runner.os == 'Linux' diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 01854b0..dfc0fa1 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -309,7 +309,7 @@ The build pipeline is organized around three layers: - publishing the sidecar for the target runtime - assembling a platform-specific release bundle -Release automation validates the app across Windows, macOS, and Linux, and tag-based releases publish platform bundles directly to GitHub Releases. +Release automation validates the app across Windows, macOS, and Linux, and tag-based releases publish platform bundles directly to GitHub Releases, including both macOS x64 and arm64 artifacts. This packaging model matches the runtime architecture: one desktop shell plus one dedicated AI execution process. diff --git a/README.md b/README.md index e525dc1..f62b9c1 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ To package the current platform into `release/`, run: - `bun run package` -GitHub Actions now runs validation on pushes and pull requests, and pushing a git tag creates a GitHub release with Windows, macOS, and Linux assets uploaded directly to the release. +GitHub Actions now runs validation on pushes and pull requests, and pushing a git tag creates a GitHub release with Windows, macOS (x64 and arm64), and Linux assets uploaded directly to the release. ## Current focus