6767 fail-fast : ${{ !contains(github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }}
6868 matrix :
6969 python-version :
70- ["3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", pypy-3.10, pypy-3.11]
70+ [
71+ " 3.9" ,
72+ " 3.10" ,
73+ " 3.11" ,
74+ " 3.14" ,
75+ " 3.13" ,
76+ " 3.13t" ,
77+ " 3.14" ,
78+ " 3.14t" ,
79+ " pypy-3.11" ,
80+ " graalpy25.0" ,
81+ ]
7182 platform :
7283 [
7384 {
@@ -88,22 +99,37 @@ jobs:
8899 ]
89100 include :
90101 # Just test one x86 Windows Python for simplicity
91- - python-version : 3.12
102+ - python-version : " 3.x "
92103 platform :
93104 {
94105 os : " windows-latest" ,
95106 python-architecture : " x86" ,
96107 rust-target : " i686-pc-windows-msvc" ,
97108 }
109+ # Just test one arm64 Windows Python for simplicity
110+ - python-version : " 3.x"
111+ platform :
112+ {
113+ os : " windows-11-arm" ,
114+ python-architecture : " arm64" ,
115+ rust-target : " aarch64-pc-windows-msvc" ,
116+ }
98117 # Just test one x64 macOS Python for simplicity
99- - python-version : 3.12
118+ - python-version : " 3.x "
100119 platform :
101120 {
102- os : " macos-13 " ,
121+ os : " macos-15-intel " ,
103122 python-architecture : " x64" ,
104123 rust-target : " x86_64-apple-darwin" ,
105124 }
106- # Just test one x64 macOS Python for simplicity
125+ # Just test one arm64 Ubuntu Python for simplicity
126+ - python-version : " 3.x"
127+ platform :
128+ {
129+ os : " ubuntu-24.04-arm" ,
130+ python-architecture : " arm64" ,
131+ rust-target : " aarch64-unknown-linux-gnu" ,
132+ }
107133 exclude :
108134 # macOS arm doesn't have Python builds before 3.10
109135 - python-version : 3.9
@@ -144,7 +170,7 @@ jobs:
144170 run : nox -s test-examples
145171
146172 - name : Test macOS universal2
147- if : ${{ startsWith(matrix.platform.os, 'macos') && !startsWith(matrix.python-version, 'pypy') }}
173+ if : ${{ startsWith(matrix.platform.os, 'macos') && !startsWith(matrix.python-version, 'pypy') }} && !{ startsWith(matrix.python-version, 'graalpy') }
148174 shell : bash
149175 env :
150176 MACOSX_DEPLOYMENT_TARGET : " 10.9"
@@ -173,13 +199,21 @@ jobs:
173199 # If one platform fails, allow the rest to keep testing if `CI-no-fail-fast` label is present
174200 fail-fast : ${{ !contains(github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }}
175201 matrix :
176- os : [ubuntu-latest, macos-latest, windows-latest]
202+ os :
203+ [
204+ ubuntu-latest,
205+ macos-latest,
206+ windows-latest,
207+ windows-11-arm,
208+ macos-15-intel,
209+ ubuntu-24.04-arm,
210+ ]
177211 steps :
178212 - uses : actions/checkout@v5
179213 - name : Setup python
180214 uses : actions/setup-python@v6
181215 with :
182- python-version : 3.9
216+ python-version : " 3.x "
183217
184218 - uses : dtolnay/rust-toolchain@stable
185219
@@ -201,12 +235,12 @@ jobs:
201235 python -m build --no-isolation
202236 ls -la dist/
203237
204- # Now we switch to a differnet Python version and ensure we can install
238+ # Now we switch to a different Python version and ensure we can install
205239 # the wheel we just built.
206240 - name : Setup python
207241 uses : actions/setup-python@v6
208242 with :
209- python-version : " 3.10 "
243+ python-version : " 3.9 "
210244
211245 - name : Install abi3 wheel and run tests
212246 shell : bash
0 commit comments