@@ -141,6 +141,64 @@ jobs:
141
141
name : " pypi-${{ runner.os }}-${{ matrix.python_version }}"
142
142
path : dist
143
143
144
+ build-arm :
145
+ runs-on : ubuntu-24.04-arm
146
+ needs : [setup_concurrency]
147
+ strategy :
148
+ max-parallel : ${{ fromJSON(needs.setup_concurrency.outputs.max-parallel).v }}
149
+ fail-fast : true
150
+ matrix :
151
+ python_version :
152
+ - ' 3.11'
153
+ - ' 3.12'
154
+ - ' 3.13'
155
+ container : python:${{ matrix.python_version }}-bookworm
156
+
157
+ steps :
158
+ - run : apt-get update && apt-get install -y libgl1
159
+
160
+ - uses : actions/checkout@v4
161
+ with :
162
+ fetch-depth : 0
163
+
164
+ #
165
+ # Setup build caching
166
+ #
167
+
168
+ - name : Setup sccache
169
+ uses :
mozilla-actions/[email protected]
170
+
171
+ # See https://github.com/pypa/setuptools_scm/issues/784
172
+ - name : Set git directory as safe to allow setuptools-scm to work
173
+ shell : bash
174
+ run : |
175
+ /usr/bin/git config --global --add safe.directory $PWD
176
+
177
+ - name : Install deps
178
+ shell : bash
179
+ run : |
180
+ python -m pip --disable-pip-version-check install -r rdev_requirements.txt
181
+
182
+ - name : Install numpy (needed for stubgen)
183
+ shell : bash
184
+ run : |
185
+ python -m pip --disable-pip-version-check install numpy
186
+
187
+ - name : Build + test wheels
188
+ shell : bash
189
+ run : |
190
+ ./rdev.sh ci run
191
+ env :
192
+ RPYBUILD_STRIP_LIBPYTHON : " 1"
193
+ RPYBUILD_CC_LAUNCHER : sccache
194
+ SCCACHE_WEBDAV_USERNAME : ${{ secrets.WPI_ARTIFACTORY_USERNAME }}
195
+ SCCACHE_WEBDAV_PASSWORD : ${{ secrets.WPI_ARTIFACTORY_TOKEN }}
196
+
197
+ - uses : actions/upload-artifact@v4
198
+ with :
199
+ name : " pypi-${{ runner.os }}-arm-${{ matrix.python_version }}"
200
+ path : dist
201
+
144
202
#
145
203
# Build roboRIO/raspbian wheels
146
204
#
@@ -162,13 +220,6 @@ jobs:
162
220
- container : wpilib/raspbian-cross-ubuntu:2025-bookworm-22.04-py313
163
221
name : raspbian-py313
164
222
165
- - container : wpilib/aarch64-cross-ubuntu:2025-bookworm-22.04-py311
166
- name : raspbian-aarch64-py311
167
- - container : wpilib/aarch64-cross-ubuntu:2025-bookworm-22.04-py312
168
- name : raspbian-aarch64-py312
169
- - container : wpilib/aarch64-cross-ubuntu:2025-bookworm-22.04-py313
170
- name : raspbian-aarch64-py313
171
-
172
223
container :
173
224
image : " ${{ matrix.os.container }}"
174
225
@@ -228,7 +279,7 @@ jobs:
228
279
229
280
publish-rpyrepo :
230
281
runs-on : ubuntu-latest
231
- needs : [check, build, cross-build]
282
+ needs : [check, build, build-arm, cross-build]
232
283
if : github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
233
284
234
285
steps :
@@ -248,7 +299,7 @@ jobs:
248
299
249
300
publish-pypi :
250
301
runs-on : ubuntu-latest
251
- needs : [check, build, cross-build]
302
+ needs : [check, build, build-arm, cross-build]
252
303
permissions :
253
304
id-token : write
254
305
if : github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
0 commit comments