Skip to content

Commit

Permalink
Standalone builds for macOS aarch64 (aka arm64, Apple Silicon, M1/M2)
Browse files Browse the repository at this point in the history
GitHub released public runners.¹  Great timing too, as I was just about
to look into using the ARM hardware that's available for macOS with
GitHub's (paid) large runners².  This also beats operating a self-hosted
runner, whether that's on EC2³ or our own Mac Mini.⁴

And the icing on the cake is that everything Just Worked by merely
enabling builds for this architecture.  \o/  High fives all around,
everyone.

Changes to the standalone installer to follow separately⁵, as those need
to be held for merge until after the first release with these builds
available.

¹ <https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/>
² <https://bedfordlab.slack.com/archives/C01LCTT7JNN/p1706556690621389>
³ <https://github.com/tsibley/blab-standup/blob/e7e2516fc40856a94b54eb83077d8f4bafd16914/2022-09-14.md>
⁴ <https://bedfordlab.slack.com/archives/C01LCTT7JNN/p1670979565748349?thread_ts=1670963819.691499&cid=C01LCTT7JNN>
⁵ <#358>
  • Loading branch information
tsibley committed Feb 1, 2024
1 parent ec3ff3c commit 70c88db
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 9 deletions.
18 changes: 9 additions & 9 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,6 @@ jobs:
#
# ¹ https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer_distributing_binary_portability.html
# ² https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer_status.html#an-official-build-environment
#
# XXX TODO: GitHub doesn't yet host any runners on M1 (Apple Silicon,
# aarch64, arm64) hardware, and we don't have M1 hardware on which to
# self-host a runner. Amazon's mac2.metal EC2 instances are M1, but
# they cost a minimum of ~$15/day. It would be cheaper to buy an M1
# Mac Mini for ~$700 which would pay for itself in less than 2 months.
# -trs, 31 May 2022
include:
- os: ubuntu-22.04
target: x86_64-unknown-linux-gnu
Expand All @@ -115,6 +108,10 @@ jobs:
target: x86_64-apple-darwin
exe: nextstrain

- os: macos-14
target: aarch64-apple-darwin
exe: nextstrain

- os: windows-2019
target: x86_64-pc-windows-msvc
exe: nextstrain.exe
Expand Down Expand Up @@ -283,13 +280,12 @@ jobs:
# end-user runtime issues with our binaries (e.g. missing DLLs). Such
# fresh CI machines are not readily available, however, since
# pre-installation is convenient for builds.
#
# XXX TODO: macOS aarch64 (M1, Apple Silicon, arm64); see above.
include:
- { os: ubuntu-20.04, target: x86_64-unknown-linux-gnu }
- { os: ubuntu-22.04, target: x86_64-unknown-linux-gnu }
- { os: macos-11, target: x86_64-apple-darwin }
- { os: macos-12, target: x86_64-apple-darwin }
- { os: macos-14, target: aarch64-apple-darwin }
- { os: windows-2019, target: x86_64-pc-windows-msvc }
- { os: windows-2022, target: x86_64-pc-windows-msvc }

Expand Down Expand Up @@ -371,6 +367,10 @@ jobs:
with:
name: standalone-x86_64-apple-darwin

- uses: actions/download-artifact@v4
with:
name: standalone-aarch64-apple-darwin

- uses: actions/download-artifact@v4
with:
name: standalone-x86_64-pc-windows-msvc
Expand Down
6 changes: 6 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ development source code and as such may not be routinely kept up to date.

# __NEXT__

## Improvements

* We now produce standalone installation archives for macOS running on aarch64
hardware (aka arm64, Apple Silicon, M1/M2).

This comment has been minimized.

Copy link
@jameshadfield

jameshadfield Feb 2, 2024

Member

nitpick we're up to M3 😉

This comment has been minimized.

Copy link
@tsibley

tsibley Feb 2, 2024

Author Member

well drat

([#357](https://github.com/nextstrain/cli/pull/357))


# 8.0.1 (29 January 2024)

Expand Down

0 comments on commit 70c88db

Please sign in to comment.