Skip to content

Commit 8220b01

Browse files
committed
Build universal binary for macos
1 parent 298ea71 commit 8220b01

File tree

4 files changed

+24
-62
lines changed

4 files changed

+24
-62
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -44,36 +44,16 @@ jobs:
4444
uses: dtolnay/rust-toolchain@master
4545
with:
4646
toolchain: 1.63
47+
targets: aarch64-apple-darwin,x86_64-apple-darwin
4748
- name: Cargo Cache
4849
uses: Swatinem/rust-cache@v2
4950
- name: Compile and package Volta
50-
run: ./ci/build-macos-x86_64.sh volta-macos
51+
run: ./ci/build-macos.sh volta-macos
5152
- name: Upload release artifact
5253
uses: actions/upload-artifact@v3
5354
with:
5455
name: macos
55-
path: target/release/volta-macos.tar.gz
56-
57-
macos-aarch64:
58-
name: Build - MacOS (ARM)
59-
runs-on: macos-latest
60-
steps:
61-
- name: Check out code
62-
uses: actions/checkout@v3
63-
- name: Set up cargo
64-
uses: dtolnay/rust-toolchain@master
65-
with:
66-
toolchain: 1.63
67-
target: aarch64-apple-darwin
68-
- name: Cargo Cache
69-
uses: Swatinem/rust-cache@v2
70-
- name: Compile and package Volta
71-
run: ./ci/build-macos-arm.sh volta-macos-aarch64
72-
- name: Upload release artifact
73-
uses: actions/upload-artifact@v3
74-
with:
75-
name: macos-aarch64
76-
path: target/aarch64-apple-darwin/release/volta-macos-aarch64.tar.gz
56+
path: target/universal-apple-darwin/release/volta-macos.tar.gz
7757

7858
windows:
7959
name: Build - Windows
@@ -130,7 +110,6 @@ jobs:
130110
needs:
131111
- linux
132112
- macos
133-
- macos-aarch64
134113
- windows
135114
if: github.event_name == 'push'
136115
steps:
@@ -151,11 +130,6 @@ jobs:
151130
with:
152131
name: macos
153132
path: release
154-
- name: Fetch MacOS (ARM) artifact
155-
uses: actions/download-artifact@v2
156-
with:
157-
name: macos-aarch64
158-
path: release
159133
- name: Fetch Windows installer
160134
uses: actions/download-artifact@v2
161135
with:
@@ -195,15 +169,6 @@ jobs:
195169
asset_path: ./release/volta-macos.tar.gz
196170
asset_name: volta-${{ steps.release_info.outputs.version }}-macos.tar.gz
197171
asset_content_type: application/gzip
198-
- name: Upload MacOS (ARM) artifact
199-
uses: actions/upload-release-asset@v1
200-
env:
201-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
202-
with:
203-
upload_url: ${{ steps.create_release.outputs.upload_url }}
204-
asset_path: ./release/volta-macos-aarch64.tar.gz
205-
asset_name: volta-${{ steps.release_info.outputs.version }}-macos-aarch64.tar.gz
206-
asset_content_type: application/gzip
207172
- name: Upload Windows installer
208173
uses: actions/upload-release-asset@v1
209174
env:

ci/build-macos-arm.sh

Lines changed: 0 additions & 12 deletions
This file was deleted.

ci/build-macos-x86_64.sh

Lines changed: 0 additions & 12 deletions
This file was deleted.

ci/build-macos.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
echo "Building Volta"
6+
7+
MACOSX_DEPLOYMENT_TARGET=11.0 cargo build --release --target=aarch64-apple-darwin
8+
MACOSX_DEPLOYMENT_TARGET=11.0 cargo build --release --target=x86_64-apple-darwin
9+
10+
echo "Packaging Binaries"
11+
12+
mkdir -p target/universal-apple-darwin/release
13+
14+
for exe in volta volta-shim volta-migrate
15+
do
16+
lipo -create -output target/universal-apple-darwin/release/$exe target/x86_64-apple-darwin/release/$exe target/aarch64-apple-darwin/release/$exe
17+
done
18+
19+
cd target/universal-apple-darwin/release
20+
21+
tar -zcvf "$1.tar.gz" volta volta-shim volta-migrate

0 commit comments

Comments
 (0)