@@ -112,9 +112,9 @@ jobs:
112112 max-parallel : ${{ fromJSON(needs.setup_concurrency.outputs.max-parallel).v }}
113113 fail-fast : true
114114 matrix :
115- os : ["ubuntu-22 .04", "ubuntu-22 .04-arm", "macos-14", "windows-2022"]
115+ os : ["ubuntu-24 .04", "ubuntu-24 .04-arm", "macos-14", "windows-2022"]
116116 include :
117- - os : ubuntu-22 .04-arm
117+ - os : ubuntu-24 .04-arm
118118 container : python:3.13-bookworm
119119
120120 container : ${{ matrix.container }}
@@ -125,7 +125,7 @@ jobs:
125125 fetch-depth : 0
126126
127127 - name : Install python
128- if : matrix.os != 'ubuntu-22 .04-arm'
128+ if : matrix.os != 'ubuntu-24 .04-arm'
129129 uses : actions/setup-python@v5
130130 with :
131131 python-version : ' 3.13'
@@ -157,27 +157,26 @@ jobs:
157157 fail-fast : true
158158 matrix :
159159 os :
160- - " ubuntu-22 .04"
160+ - " ubuntu-24 .04"
161161 - " macos-15-intel" # x86_64
162162 - " macos-14" # arm64
163163 - " windows-2022"
164164 python_version :
165- - ' 3.10'
166165 - ' 3.11'
167166 - ' 3.12'
168167 - ' 3.13'
169168 - ' 3.14'
170169 include :
171- - os : ubuntu-22 .04-arm
170+ - os : ubuntu-24 .04-arm
172171 python_version : ' 3.11'
173172 container : python:3.11-bookworm
174- - os : ubuntu-22 .04-arm
173+ - os : ubuntu-24 .04-arm
175174 python_version : ' 3.12'
176175 container : python:3.12-bookworm
177- - os : ubuntu-22 .04-arm
176+ - os : ubuntu-24 .04-arm
178177 python_version : ' 3.13'
179178 container : python:3.13-bookworm
180- - os : ubuntu-22 .04-arm
179+ - os : ubuntu-24 .04-arm
181180 python_version : ' 3.14'
182181 container : python:3.14-bookworm
183182
@@ -189,7 +188,7 @@ jobs:
189188 fetch-depth : 0
190189
191190 - name : Install python
192- if : matrix.os != 'ubuntu-22 .04-arm'
191+ if : matrix.os != 'ubuntu-24 .04-arm'
193192 uses : actions/setup-python@v5
194193 with :
195194 python-version : ${{ matrix.python_version }}
@@ -212,7 +211,7 @@ jobs:
212211
213212 - name : Install libgl
214213 run : apt-get update && apt-get install -y libgl1
215- if : matrix.os == 'ubuntu-22 .04-arm'
214+ if : matrix.os == 'ubuntu-24 .04-arm'
216215
217216 - name : Setup MSVC
218217 uses : bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1
@@ -262,6 +261,10 @@ jobs:
262261 run : |
263262 python -m devtools ci install-test-pure-wheels
264263
264+ - name : Test examples
265+ run : |
266+ python -m devtools test-examples
267+
265268 - name : Ensure all headers are accounted for
266269 run : |
267270 python -m devtools ci scan-headers
@@ -276,7 +279,7 @@ jobs:
276279 path : dist
277280
278281 #
279- # Build roboRIO /raspbian wheels
282+ # Build robot /raspbian wheels
280283 #
281284
282285 cross-other :
@@ -286,10 +289,8 @@ jobs:
286289 max-parallel : ${{ fromJSON(needs.setup_concurrency.outputs.max-parallel).v }}
287290 matrix :
288291 os :
289- - container : wpilib/roborio-cross-ubuntu:2026-22.04-py314
290- name : roborio
291- - container : wpilib/raspbian-cross-ubuntu:2026-bookworm-22.04-py314
292- name : raspbian
292+ - container : wpilib/systemcore-cross-ubuntu:2026-24.04-py314
293+ name : systemcore
293294
294295 container :
295296 image : " ${{ matrix.os.container }}"
@@ -300,7 +301,7 @@ jobs:
300301 fetch-depth : 0
301302
302303 - name : Setup cross environment for meson
303- uses : robotpy/build-actions/setup-cross-meson@semiwrap
304+ uses : robotpy/build-actions/setup-cross-meson@v2027
304305
305306 - name : Install deps
306307 shell : bash
@@ -324,22 +325,9 @@ jobs:
324325 max-parallel : ${{ fromJSON(needs.setup_concurrency.outputs.max-parallel).v }}
325326 matrix :
326327 os :
327- - container : wpilib/roborio-cross-ubuntu:2026-22.04-py314
328- name : roborio
329- base : roborio
330-
331- - container : wpilib/raspbian-cross-ubuntu:2026-bookworm-22.04-py311
332- name : raspbian-py311
333- base : raspbian
334- - container : wpilib/raspbian-cross-ubuntu:2026-bookworm-22.04-py312
335- name : raspbian-py312
336- base : raspbian
337- - container : wpilib/raspbian-cross-ubuntu:2026-bookworm-22.04-py313
338- name : raspbian-py313
339- base : raspbian
340- - container : wpilib/raspbian-cross-ubuntu:2026-bookworm-22.04-py314
341- name : raspbian-py314
342- base : raspbian
328+ - container : wpilib/systemcore-cross-ubuntu:2026-24.04-py314
329+ name : systemcore
330+ base : systemcore
343331
344332 container :
345333 image : " ${{ matrix.os.container }}"
@@ -355,7 +343,7 @@ jobs:
355343 path : dist-other
356344
357345 - name : Setup cross environment for meson
358- uses : robotpy/build-actions/setup-cross-meson@semiwrap
346+ uses : robotpy/build-actions/setup-cross-meson@v2027
359347
360348 - run : apt-get update
361349 - name : Setup ccache
@@ -401,7 +389,7 @@ jobs:
401389 verify-metadata : false
402390 user : ${{ secrets.WPI_ARTIFACTORY_USERNAME }}
403391 password : ${{ secrets.WPI_ARTIFACTORY_TOKEN }}
404- repository-url : https://wpilib.jfrog.io/artifactory/api/pypi/wpilib-python-release-2026 -local
392+ repository-url : https://wpilib.jfrog.io/artifactory/api/pypi/wpilib-python-release-2027 -local
405393
406394 publish-rpyrepo-other :
407395 runs-on : ubuntu-latest
@@ -421,7 +409,7 @@ jobs:
421409 skip-existing : true # native packages can be uploaded multiple times
422410 user : ${{ secrets.WPI_ARTIFACTORY_USERNAME }}
423411 password : ${{ secrets.WPI_ARTIFACTORY_TOKEN }}
424- repository-url : https://wpilib.jfrog.io/artifactory/api/pypi/wpilib-python-release-2026 -local
412+ repository-url : https://wpilib.jfrog.io/artifactory/api/pypi/wpilib-python-release-2027 -local
425413
426414 publish-pypi :
427415 runs-on : ubuntu-latest
0 commit comments