Skip to content

Commit 84d69b5

Browse files
committed
ci: build static armv7 gadget binaries
Signed-off-by: Sam Day <me@samcday.com>
1 parent b5ccd8c commit 84d69b5

2 files changed

Lines changed: 36 additions & 3 deletions

File tree

.github/workflows/build.yml

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,18 @@ jobs:
5353
- name: x86_64
5454
runner: ubuntu-24.04
5555
target: x86_64-unknown-linux-musl
56+
build_args: "--bins"
57+
upload_host: true
5658
- name: aarch64
5759
runner: ubuntu-24.04-arm
5860
target: aarch64-unknown-linux-musl
61+
build_args: "--bins"
62+
upload_host: true
63+
- name: armv7
64+
runner: ubuntu-24.04
65+
target: armv7-unknown-linux-musleabihf
66+
build_args: "-p smoo-gadget-cli --features smoo-gadget-cli/apkbuild"
67+
upload_host: false
5968

6069
steps:
6170
- uses: actions/checkout@v4
@@ -85,7 +94,8 @@ jobs:
8594
- name: Build (static musl)
8695
run: |
8796
cargo build \
88-
--bins \
97+
${{ matrix.build_args }} \
98+
--locked \
8999
--release \
90100
--target ${{ matrix.target }}
91101
@@ -96,22 +106,34 @@ jobs:
96106
path: target/${{ matrix.target }}/release/smoo-gadget
97107

98108
- name: Upload smoo-host artifact
109+
if: matrix.upload_host
99110
uses: actions/upload-artifact@v4
100111
with:
101112
name: smoo-host-${{ matrix.name }}
102113
path: target/${{ matrix.target }}/release/smoo-host
103114

104-
- name: Prepare release binaries
115+
- name: Prepare smoo-gadget release binary
105116
if: github.event_name == 'release'
106117
run: |
107118
cp target/${{ matrix.target }}/release/smoo-gadget smoo-gadget-${{ matrix.name }}
119+
120+
- name: Prepare smoo-host release binary
121+
if: github.event_name == 'release' && matrix.upload_host
122+
run: |
108123
cp target/${{ matrix.target }}/release/smoo-host smoo-host-${{ matrix.name }}
109124
110-
- name: Upload binaries to release
125+
- name: Upload smoo-gadget binary to release
111126
if: github.event_name == 'release'
112127
uses: softprops/action-gh-release@v2
113128
with:
114129
name: ${{ github.event.release.name }}
115130
files: |
116131
smoo-gadget-${{ matrix.name }}
132+
133+
- name: Upload smoo-host binary to release
134+
if: github.event_name == 'release' && matrix.upload_host
135+
uses: softprops/action-gh-release@v2
136+
with:
137+
name: ${{ github.event.release.name }}
138+
files: |
117139
smoo-host-${{ matrix.name }}

.github/workflows/release.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,11 @@ jobs:
172172
name: smoo-gadget-aarch64
173173
path: release-artifacts/smoo-gadget-aarch64
174174

175+
- uses: actions/download-artifact@v4
176+
with:
177+
name: smoo-gadget-armv7
178+
path: release-artifacts/smoo-gadget-armv7
179+
175180
- uses: actions/download-artifact@v4
176181
with:
177182
name: smoo-host-aarch64
@@ -195,11 +200,13 @@ jobs:
195200
cp release-artifacts/smoo-gadget-x86_64/smoo-gadget release-assets/smoo-gadget-x86_64
196201
cp release-artifacts/smoo-host-x86_64/smoo-host release-assets/smoo-host-x86_64
197202
cp release-artifacts/smoo-gadget-aarch64/smoo-gadget release-assets/smoo-gadget-aarch64
203+
cp release-artifacts/smoo-gadget-armv7/smoo-gadget release-assets/smoo-gadget-armv7
198204
cp release-artifacts/smoo-host-aarch64/smoo-host release-assets/smoo-host-aarch64
199205
200206
tar -C release-artifacts/smoo-gadget-x86_64 -czf release-assets/smoo-gadget-cli-x86_64-unknown-linux-musl.tar.gz smoo-gadget
201207
tar -C release-artifacts/smoo-host-x86_64 -czf release-assets/smoo-host-cli-x86_64-unknown-linux-musl.tar.gz smoo-host
202208
tar -C release-artifacts/smoo-gadget-aarch64 -czf release-assets/smoo-gadget-cli-aarch64-unknown-linux-musl.tar.gz smoo-gadget
209+
tar -C release-artifacts/smoo-gadget-armv7 -czf release-assets/smoo-gadget-cli-armv7-unknown-linux-musleabihf.tar.gz smoo-gadget
203210
tar -C release-artifacts/smoo-host-aarch64 -czf release-assets/smoo-host-cli-aarch64-unknown-linux-musl.tar.gz smoo-host
204211
205212
cp release-artifacts/APKBUILD/APKBUILD release-assets/APKBUILD
@@ -212,10 +219,12 @@ jobs:
212219
test -f release-assets/smoo-gadget-x86_64
213220
test -f release-assets/smoo-host-x86_64
214221
test -f release-assets/smoo-gadget-aarch64
222+
test -f release-assets/smoo-gadget-armv7
215223
test -f release-assets/smoo-host-aarch64
216224
test -f release-assets/smoo-gadget-cli-x86_64-unknown-linux-musl.tar.gz
217225
test -f release-assets/smoo-host-cli-x86_64-unknown-linux-musl.tar.gz
218226
test -f release-assets/smoo-gadget-cli-aarch64-unknown-linux-musl.tar.gz
227+
test -f release-assets/smoo-gadget-cli-armv7-unknown-linux-musleabihf.tar.gz
219228
test -f release-assets/smoo-host-cli-aarch64-unknown-linux-musl.tar.gz
220229
test -f release-assets/APKBUILD
221230
compgen -G 'release-assets/*.apk' >/dev/null
@@ -230,10 +239,12 @@ jobs:
230239
release-assets/smoo-gadget-x86_64
231240
release-assets/smoo-host-x86_64
232241
release-assets/smoo-gadget-aarch64
242+
release-assets/smoo-gadget-armv7
233243
release-assets/smoo-host-aarch64
234244
release-assets/smoo-gadget-cli-x86_64-unknown-linux-musl.tar.gz
235245
release-assets/smoo-host-cli-x86_64-unknown-linux-musl.tar.gz
236246
release-assets/smoo-gadget-cli-aarch64-unknown-linux-musl.tar.gz
247+
release-assets/smoo-gadget-cli-armv7-unknown-linux-musleabihf.tar.gz
237248
release-assets/smoo-host-cli-aarch64-unknown-linux-musl.tar.gz
238249
release-assets/APKBUILD
239250
release-assets/*.apk

0 commit comments

Comments
 (0)