5050      with :
5151        submodules : true 
5252
53-     - uses : actions/setup-python@v4  
53+     - uses : actions/setup-python@v5  
5454      with :
5555        python-version : 3.8 
5656    - name : Sphinx 
6767        submodules : recursive 
6868        fetch-depth : 0 
6969
70-     - uses : actions/setup-python@v4  
70+     - uses : actions/setup-python@v5  
7171      with :
7272        python-version : 3.8 
7373
@@ -97,12 +97,12 @@ jobs:
9797        - ' 3.11' 
9898        - ' 3.12' 
9999        - ' 3.13' 
100-         architecture : [x86,  x64] 
101-         exclude :
102-         - os : macos-13 
103-           architecture : x86 
104-         - os : ubuntu-22.04 
105-           architecture : x86 
100+         architecture : [x64] 
101+         #   exclude:
102+         #   - os: macos-13
103+         #     architecture: x86
104+         #   - os: ubuntu-22.04
105+         #     architecture: x86
106106        include :
107107        - os : macos-14 
108108          python_version : 3.9 
@@ -116,7 +116,7 @@ jobs:
116116      with :
117117        submodules : true 
118118
119-     - uses : actions/setup-python@v4  
119+     - uses : actions/setup-python@v5  
120120      with :
121121        python-version : ${{ matrix.python_version }} 
122122        architecture : ${{ matrix.architecture }} 
@@ -133,25 +133,32 @@ jobs:
133133          key : ${{ matrix.os }}-${{ matrix.architecture }}-${{ matrix.python_version }} 
134134          variant : ccache 
135135
136+     - name : Setup MSVC 
137+       uses : bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d   #  v1
138+       with :
139+         architecture : x64 
140+       if : runner.os == 'Windows' 
141+ 
142+     - name : Configure ccache for MSVC 
143+       shell : bash 
144+       #  https://github.com/mesonbuild/meson/issues/10423
145+       run : | 
146+         echo "CC=ccache.exe cl" >> $GITHUB_ENV 
147+         echo "CXX=ccache.exe cl" >> $GITHUB_ENV 
148+ if : runner.os == 'Windows' 
149+ 
136150    - name : Install 
137151      shell : bash 
138152      working-directory : dist 
139153      run : python -m pip --disable-pip-version-check install *.whl 
140154
141155    - name : Install test dependencies 
142-       shell : bash 
143156      working-directory : tests 
144157      run : python -m pip --disable-pip-version-check install -r requirements.txt 
145158
146159    - name : Test wheel 
147-       shell : bash 
148-       env :
149-         RPYBUILD_PARALLEL : 1 
150-         RPYBUILD_STRIP_LIBPYTHON : 1 
151-         RPYBUILD_CC_LAUNCHER : ccache 
152160      working-directory : tests 
153-       run : | 
154-         python run_tests.py 
161+       run : python run_tests.py 
155162
156163  cross-build :
157164    runs-on : ubuntu-latest 
@@ -160,8 +167,8 @@ jobs:
160167      max-parallel : ${{ fromJSON(needs.setup_concurrency.outputs.max-parallel).v }} 
161168      matrix :
162169        container :
163-         - wpilib/roborio-cross-ubuntu:2024 -22.04-py312  
164-         - wpilib/raspbian-cross-ubuntu:bullseye- 22.04-py312  
170+         - wpilib/roborio-cross-ubuntu:2025 -22.04-py313  
171+         - wpilib/raspbian-cross-ubuntu:2025-bookworm- 22.04-py313  
165172
166173    container :
167174      image : " ${{ matrix.container }}" 
@@ -183,33 +190,23 @@ jobs:
183190        name : dist 
184191        path : dist 
185192
186-     - name : Install setuptools 
187-       run : | 
188-         /build/venv/bin/build-pip --disable-pip-version-check install setuptools 
189-         /build/venv/bin/cross-pip --disable-pip-version-check install setuptools 
193+     - name : Setup cross environment 
194+       uses : robotpy/build-actions/setup-cross-meson@semiwrap 
190195
191196    - name : Install 
192197      working-directory : dist 
193198      run : | 
194-         # install to both cross and build in case things get mixed up 
195199        /build/venv/bin/build-pip --disable-pip-version-check install *.whl 
196-         /build/venv/bin/cross-pip --disable-pip-version-check install *.whl 
197200
198201name : Install test dependencies 
199202      shell : bash 
200203      working-directory : tests 
201204      run : | 
202-         # install to both cross and build in case things get mixed up 
203205        /build/venv/bin/build-pip --disable-pip-version-check install -r requirements.txt 
204-         /build/venv/bin/cross-pip --disable-pip-version-check install -r requirements.txt 
205206
206207name : Build cross wheel 
207-       env :
208-         RPYBUILD_PARALLEL : 1 
209-         RPYBUILD_STRIP_LIBPYTHON : 1 
210-         RPYBUILD_CC_LAUNCHER : ccache 
211208      working-directory : tests/cpp 
212-       run : /build/venv/bin/cross-python run_install.py wheel  
209+       run : /build/venv/bin/cross-python run_install.py --config-settings=setup-args=--cross-file=cross.txt  
213210
214211  publish :
215212    runs-on : ubuntu-latest 
0 commit comments