Skip to content

Commit ca90e9c

Browse files
authored
Merge pull request #1479 from EliahKagan/aarch64
Add ARM64 (AArch64) binary release archives for macOS and Windows
2 parents 1d37bf6 + e9cb26b commit ca90e9c

File tree

1 file changed

+37
-25
lines changed

1 file changed

+37
-25
lines changed

.github/workflows/release.yml

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -69,54 +69,66 @@ jobs:
6969

7070
strategy:
7171
matrix:
72-
build: [ linux, linux-arm, macos, win-msvc, win-gnu, win32-msvc ]
73-
feature: [ small, lean, max, max-pure ]
72+
target:
73+
- x86_64-unknown-linux-musl
74+
- arm-unknown-linux-gnueabihf
75+
- x86_64-apple-darwin
76+
- aarch64-apple-darwin
77+
- x86_64-pc-windows-msvc
78+
- x86_64-pc-windows-gnu
79+
- i686-pc-windows-msvc
80+
- aarch64-pc-windows-msvc
81+
feature:
82+
- small
83+
- lean
84+
- max
85+
- max-pure
7486
include:
75-
- build: linux
87+
- target: x86_64-unknown-linux-musl
7688
os: ubuntu-latest
7789
rust: stable
78-
target: x86_64-unknown-linux-musl
79-
- build: linux-arm
90+
- target: arm-unknown-linux-gnueabihf
8091
os: ubuntu-latest
8192
rust: nightly
82-
target: arm-unknown-linux-gnueabihf
83-
- build: macos
93+
- target: x86_64-apple-darwin
8494
os: macos-latest
8595
rust: stable
86-
target: x86_64-apple-darwin
87-
- build: win-msvc
96+
- target: aarch64-apple-darwin
97+
os: macos-latest
98+
rust: stable
99+
- target: x86_64-pc-windows-msvc
88100
os: windows-latest
89101
rust: nightly
90-
target: x86_64-pc-windows-msvc
91-
- build: win-gnu
102+
- target: x86_64-pc-windows-gnu
92103
os: windows-latest
93104
rust: nightly-x86_64-gnu
94-
target: x86_64-pc-windows-gnu
95-
- build: win32-msvc
105+
- target: i686-pc-windows-msvc
106+
os: windows-latest
107+
rust: nightly
108+
- target: aarch64-pc-windows-msvc
96109
os: windows-latest
97110
rust: nightly
98-
target: i686-pc-windows-msvc
99111
# on linux we build with musl which causes trouble with open-ssl. For now, just build max-pure there
100112
# even though we could also build with `--features max-control,http-client-reqwest,gitoxide-core-blocking-client,gix-features/fast-sha1` for fast hashing.
101113
# It's a TODO.
102114
exclude:
103-
- build: linux
115+
- target: x86_64-unknown-linux-musl
104116
feature: small
105-
- build: linux
117+
- target: x86_64-unknown-linux-musl
106118
feature: lean
107-
- build: linux
119+
- target: x86_64-unknown-linux-musl
108120
feature: max
109-
- build: linux-arm
121+
- target: arm-unknown-linux-gnueabihf
110122
feature: small
111-
- build: linux-arm
123+
- target: arm-unknown-linux-gnueabihf
112124
feature: lean
113-
- build: linux-arm
125+
- target: arm-unknown-linux-gnueabihf
114126
feature: max
115127

116128
runs-on: ${{ matrix.os }}
117129

118130
env:
119-
CARGO: cargo # Sometimes changes to `cross` later (such as when building linux-arm).
131+
CARGO: cargo # On Linux, this will be changed to `cross` later.
120132
TARGET_FLAGS: --target=${{ matrix.target }}
121133
TARGET_DIR: ./target/${{ matrix.target }}
122134
RUST_BACKTRACE: 1 # Emit backtraces on panics.
@@ -165,12 +177,12 @@ jobs:
165177
run: |
166178
"$CARGO" build --verbose --release "$TARGET_FLAGS" --no-default-features --features ${{ matrix.feature }}
167179
168-
- name: Strip release binary (linux and macos)
169-
if: matrix.build == 'linux' || matrix.build == 'macos'
180+
- name: Strip release binary (x86-64 Linux, and all macOS)
181+
if: matrix.target == 'x86_64-unknown-linux-musl' || matrix.os == 'macos-latest'
170182
run: strip "$TARGET_DIR"/release/{ein,gix}
171183

172-
- name: Strip release binary (arm)
173-
if: matrix.build == 'linux-arm'
184+
- name: Strip release binary (ARM Linux)
185+
if: matrix.target == 'arm-unknown-linux-gnueabihf'
174186
run: |
175187
docker run --rm -v \
176188
"$PWD/target:/target:Z" \

0 commit comments

Comments
 (0)