Skip to content

Commit ef8a198

Browse files
authored
Merge pull request #917 from charlespierce/prebuilt_m1
[Small] Build Apple Silicon Native build in CI
2 parents fb84ced + 7ac3841 commit ef8a198

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

.github/workflows/release.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,27 @@ jobs:
8282
name: macos
8383
path: target/release/volta-macos.tar.gz
8484

85+
macos-aarch64:
86+
name: Build - MacOS (ARM)
87+
runs-on: macos-latest
88+
steps:
89+
- name: Check out code
90+
uses: actions/checkout@v2
91+
- name: Set up cargo
92+
uses: actions-rs/toolchain@v1
93+
with:
94+
profile: minimal
95+
toolchain: stable
96+
target: aarch64-apple-darwin
97+
override: true
98+
- name: Compile and package Volta
99+
run: ./ci/build-for-arm.sh volta-macos-aarch64
100+
- name: Upload release artifact
101+
uses: actions/upload-artifact@v2
102+
with:
103+
name: macos-aarch64
104+
path: target/aarch64-apple-darwin/release/volta-macos-aarch64.tar.gz
105+
85106
windows:
86107
name: Build - Windows
87108
runs-on: windows-latest
@@ -143,6 +164,7 @@ jobs:
143164
- centos
144165
- linux
145166
- macos
167+
- macos-aarch64
146168
- windows
147169
if: github.event_name == 'push'
148170
steps:
@@ -173,6 +195,11 @@ jobs:
173195
with:
174196
name: macos
175197
path: release
198+
- name: Fetch MacOS (ARM) artifact
199+
uses: actions/download-artifact@v2
200+
with:
201+
name: macos-aarch64
202+
path: release
176203
- name: Fetch Windows installer
177204
uses: actions/download-artifact@v2
178205
with:
@@ -230,6 +257,15 @@ jobs:
230257
asset_path: ./release/volta-macos.tar.gz
231258
asset_name: volta-${{ steps.release_info.outputs.version }}-macos.tar.gz
232259
asset_content_type: applictaion/gzip
260+
- name: Upload MacOS (ARM) artifact
261+
uses: actions/upload-release-asset@v1
262+
env:
263+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
264+
with:
265+
upload_url: ${{ steps.create_release.outputs.upload_url }}
266+
asset_path: ./release/volta-macos-aarch64.tar.gz
267+
asset_name: volta-${{ steps.release_info.outputs.version }}-macos-aarch64.tar.gz
268+
asset_content_type: application/gzip
233269
- name: Upload Windows installer
234270
uses: actions/upload-release-asset@v1
235271
env:

ci/build-for-arm.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
echo "Building Volta"
6+
7+
SDKROOT=$(xcrun -sdk macosx11.0 --show-sdk-path) MACOSX_DEPLOYMENT_TARGET=11.0 cargo build --release --target=aarch64-apple-darwin
8+
9+
echo "Packaging Binaries"
10+
11+
cd target/aarch64-apple-darwin/release
12+
tar -zcvf "$1.tar.gz" volta volta-shim volta-migrate

0 commit comments

Comments
 (0)