Skip to content

Commit a89044f

Browse files
authored
Build apple x86 (gitui-org#2253)
1 parent baac3d0 commit a89044f

File tree

3 files changed

+58
-5
lines changed

3 files changed

+58
-5
lines changed

.github/workflows/ci.yml

+35
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ jobs:
4141
toolchain: ${{ matrix.rust }}
4242
components: clippy
4343

44+
- name: Rustup Show
45+
run: rustup show
46+
4447
- name: Build Debug
4548
run: |
4649
cargo build
@@ -171,6 +174,38 @@ jobs:
171174
make build-linux-arm-release
172175
ls -l ./target/aarch64-unknown-linux-gnu/release/gitui || ls -l ./target/armv7-unknown-linux-gnueabihf/release/gitui || ls -l ./target/arm-unknown-linux-gnueabihf/release/gitui
173176
177+
build-apple-x86:
178+
runs-on: macos-latest
179+
strategy:
180+
fail-fast: false
181+
matrix:
182+
rust: [nightly, stable, '1.70']
183+
continue-on-error: ${{ matrix.rust == 'nightly' }}
184+
steps:
185+
- uses: actions/checkout@v4
186+
187+
- name: Restore cargo cache
188+
uses: Swatinem/rust-cache@v2
189+
env:
190+
cache-name: ci
191+
with:
192+
key: apple-x86-${{ env.cache-name }}-${{ matrix.rust }}
193+
194+
- name: Install Rust
195+
uses: dtolnay/rust-toolchain@master
196+
with:
197+
toolchain: ${{ matrix.rust }}
198+
- name: Setup target
199+
run: rustup target add x86_64-apple-darwin
200+
201+
- name: Build Debug
202+
run: |
203+
make build-apple-x86-debug
204+
- name: Build Release
205+
run: |
206+
make build-apple-x86-release
207+
ls -l ./target/x86_64-apple-darwin/release/gitui
208+
174209
linting:
175210
name: Lints
176211
runs-on: ubuntu-latest

.github/workflows/nightly.yml

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Build Nightly Releases
22

3-
on:
3+
on:
44
schedule:
55
- cron: '0 3 * * *'
66
workflow_dispatch:
@@ -34,7 +34,7 @@ jobs:
3434
with:
3535
components: clippy
3636

37-
# ideally we trigger the nightly build/deploy only if the normal nightly CI finished successfully
37+
# ideally we trigger the nightly build/deploy only if the normal nightly CI finished successfully
3838
- name: Run tests
3939
if: matrix.os != 'ubuntu-22.04'
4040
run: make test
@@ -69,6 +69,9 @@ jobs:
6969
- name: Build Release Mac
7070
if: matrix.os == 'macos-latest'
7171
run: make release-mac
72+
- name: Build Release Mac x86
73+
if: matrix.os == 'macos-latest'
74+
run: make release-mac-x68
7275
- name: Build Release Linux
7376
if: matrix.os == 'ubuntu-latest'
7477
run: make release-linux-musl
@@ -89,7 +92,7 @@ jobs:
8992
aws s3 cp ./release/gitui-linux-armv7.tar.gz $AWS_BUCKET_NAME
9093
aws s3 cp ./release/gitui-linux-arm.tar.gz $AWS_BUCKET_NAME
9194
aws s3 cp ./release/gitui-linux-aarch64.tar.gz $AWS_BUCKET_NAME
92-
95+
9396
- name: Ubuntu Latest Upload Artifact
9497
if: matrix.os == 'ubuntu-latest'
9598
env:
@@ -100,16 +103,17 @@ jobs:
100103
aws s3 cp ./release/gitui-linux-x86_64.tar.gz $AWS_BUCKET_NAME
101104
102105
- name: MacOS Upload Artifact
103-
if: matrix.os == 'macos-latest'
106+
if: matrix.os == 'macos-latest'
104107
env:
105108
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
106109
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_KEY_SECRET }}
107110
AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }}
108111
run: |
109112
aws s3 cp ./release/gitui-mac.tar.gz $AWS_BUCKET_NAME
113+
aws s3 cp ./release/gitui-mac-x86.tar.gz $AWS_BUCKET_NAME
110114
111115
- name: Windows Upload Artifact
112-
if: matrix.os == 'windows-latest'
116+
if: matrix.os == 'windows-latest'
113117
env:
114118
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
115119
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_KEY_SECRET }}

Makefile

+14
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ release-mac: build-release
2626
tar -C ./target/release/ -czvf ./release/gitui-mac.tar.gz ./gitui
2727
ls -lisah ./release/gitui-mac.tar.gz
2828

29+
release-mac-x86: build-apple-x86-release
30+
strip target/x86_64-apple-darwin/release/gitui
31+
otool -L target/x86_64-apple-darwin/release/gitui
32+
ls -lisah target/x86_64-apple-darwin/release/gitui
33+
mkdir -p release
34+
tar -C ./target/x86_64-apple-darwin/release/ -czvf ./release/gitui-mac-x86.tar.gz ./gitui
35+
ls -lisah ./release/gitui-mac-x86.tar.gz
36+
2937
release-win: build-release
3038
mkdir -p release
3139
tar -C ./target/release/ -czvf ./release/gitui-win.tar.gz ./gitui.exe
@@ -38,6 +46,12 @@ release-linux-musl: build-linux-musl-release
3846
mkdir -p release
3947
tar -C ./target/x86_64-unknown-linux-musl/release/ -czvf ./release/gitui-linux-x86_64.tar.gz ./gitui
4048

49+
build-apple-x86-debug:
50+
cargo build --target=x86_64-apple-darwin
51+
52+
build-apple-x86-release:
53+
cargo build --release --target=x86_64-apple-darwin
54+
4155
build-linux-musl-debug:
4256
cargo build --target=x86_64-unknown-linux-musl
4357

0 commit comments

Comments
 (0)