5252 rust-target : " x86_64-unknown-linux-gnu" ,
5353 },
5454 {
55- os : " macos-15-intel " ,
56- python-architecture : " x64 " ,
57- rust-target : " x86_64 -apple-darwin" ,
55+ os : " macOS-latest " ,
56+ python-architecture : " arm64 " ,
57+ rust-target : " aarch64 -apple-darwin" ,
5858 },
5959 {
6060 os : " windows-latest" ,
@@ -70,36 +70,28 @@ jobs:
7070 include :
7171 # ubuntu-24.04 does not support 3.7
7272 - python-version : 3.7
73- platform :
74- {
75- os : " ubuntu-22.04" ,
76- python-architecture : " x64" ,
77- rust-target : " x86_64-unknown-linux-gnu" ,
78- }
79- # Older versions of CPython are not available for AArch64.
80- - python-version : 3.12
81- platform :
82- {
83- os : " macOS-latest" ,
84- python-architecture : " arm64" ,
85- rust-target : " aarch64-apple-darwin" ,
86- }
73+ platform : { os: "ubuntu-22.04", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }
74+ # not available on arm64 macOS, test on x64
75+ - python-version : 3.7
76+ platform : { os: "macos-15-intel", python-architecture: "x64", rust-target: "x86_64-apple-darwin" }
77+ - python-version : 3.8
78+ platform : { os: "macos-15-intel", python-architecture: "x64", rust-target: "x86_64-apple-darwin" }
79+ - python-version : 3.9
80+ platform : { os: "macos-15-intel", python-architecture: "x64", rust-target: "x86_64-apple-darwin" }
8781 exclude :
8882 # ubuntu-24.04 does not support 3.7
8983 - python-version : 3.7
90- platform :
91- {
92- os : " ubuntu-latest" ,
93- python-architecture : " x64" ,
94- rust-target : " x86_64-unknown-linux-gnu" ,
95- }
84+ platform : { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }
85+ # not available on arm64 macOS
86+ - python-version : 3.7
87+ platform : { os: "macOS-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
88+ - python-version : 3.8
89+ platform : { os: "macOS-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
90+ - python-version : 3.9
91+ platform : { os: "macOS-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
92+ # no 32 bit windows PyPy
9693 - python-version : pypy-3.11
97- platform :
98- {
99- os : " windows-latest" ,
100- python-architecture : " x86" ,
101- rust-target : " i686-pc-windows-msvc" ,
102- }
94+ platform : { os: "windows-latest", python-architecture: "x86", rust-target: "i686-pc-windows-msvc" }
10395 steps :
10496 - uses : actions/checkout@v4
10597 - name : Set up Python ${{ matrix.python-version }}
@@ -133,7 +125,7 @@ jobs:
133125 strategy :
134126 fail-fast : ${{ !contains(github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }}
135127 matrix :
136- python-version : ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
128+ python-version : ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] # last numpy 1 release for 3.12
137129 platform :
138130 [
139131 {
@@ -142,9 +134,9 @@ jobs:
142134 rust-target : " x86_64-unknown-linux-gnu" ,
143135 },
144136 {
145- os : " macos-15-intel " ,
146- python-architecture : " x64 " ,
147- rust-target : " x86_64 -apple-darwin" ,
137+ os : " macOS-latest " ,
138+ python-architecture : " arm64 " ,
139+ rust-target : " aarch64 -apple-darwin" ,
148140 },
149141 {
150142 os : " windows-latest" ,
@@ -160,21 +152,25 @@ jobs:
160152 include :
161153 # ubuntu-24.04 does not support 3.7
162154 - python-version : 3.7
163- platform :
164- {
165- os : " ubuntu-22.04" ,
166- python-architecture : " x64" ,
167- rust-target : " x86_64-unknown-linux-gnu" ,
168- }
155+ platform : { os: "ubuntu-22.04", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }
156+ # not available on arm64 macOS, test on x64
157+ - python-version : 3.7
158+ platform : { os: "macos-15-intel", python-architecture: "x64", rust-target: "x86_64-apple-darwin" }
159+ - python-version : 3.8
160+ platform : { os: "macos-15-intel", python-architecture: "x64", rust-target: "x86_64-apple-darwin" }
161+ - python-version : 3.9
162+ platform : { os: "macos-15-intel", python-architecture: "x64", rust-target: "x86_64-apple-darwin" }
169163 exclude :
170164 # ubuntu-24.04 does not support 3.7
171165 - python-version : 3.7
172- platform :
173- {
174- os : " ubuntu-latest" ,
175- python-architecture : " x64" ,
176- rust-target : " x86_64-unknown-linux-gnu" ,
177- }
166+ platform : { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }
167+ # not available on arm64 macOS
168+ - python-version : 3.7
169+ platform : { os: "macOS-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
170+ - python-version : 3.8
171+ platform : { os: "macOS-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
172+ - python-version : 3.9
173+ platform : { os: "macOS-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
178174 steps :
179175 - uses : actions/checkout@v4
180176 - name : Set up Python ${{ matrix.python-version }}
@@ -206,7 +202,7 @@ jobs:
206202 - uses : actions/checkout@v4
207203 - uses : actions/setup-python@v5
208204 with :
209- python-version : " 3.12 "
205+ python-version : " 3.14 "
210206 - uses : messense/maturin-action@v1
211207 with :
212208 target : aarch64
@@ -220,7 +216,7 @@ jobs:
220216 - uses : actions/checkout@v4
221217 - uses : actions/setup-python@v5
222218 with :
223- python-version : " 3.12 "
219+ python-version : " 3.14 "
224220 - uses : dtolnay/rust-toolchain@stable
225221 - uses : Swatinem/rust-cache@v2
226222 continue-on-error : true
@@ -238,7 +234,7 @@ jobs:
238234 - uses : actions/checkout@v4
239235 - uses : actions/setup-python@v5
240236 with :
241- python-version : " 3.12 "
237+ python-version : " 3.14 "
242238 - uses : dtolnay/rust-toolchain@nightly
243239 - uses : Swatinem/rust-cache@v2
244240 continue-on-error : true
@@ -254,7 +250,7 @@ jobs:
254250 - name : Set up Python
255251 uses : actions/setup-python@v5
256252 with :
257- python-version : " 3.12 "
253+ python-version : " 3.14 "
258254 - name : Install Rust
259255260256 - uses : Swatinem/rust-cache@v2
@@ -294,7 +290,7 @@ jobs:
294290 - uses : actions/checkout@v4
295291 - uses : actions/setup-python@v5
296292 with :
297- python-version : " 3.12 "
293+ python-version : " 3.14 "
298294 - name : Install OpenBLAS
299295 run : sudo apt install --yes libopenblas-dev
300296 - name : Install Rust
@@ -314,7 +310,7 @@ jobs:
314310 - uses : actions/checkout@v4
315311 - uses : actions/setup-python@v5
316312 with :
317- python-version : " 3.12 "
313+ python-version : " 3.14 "
318314 - name : Install numpy
319315 run : pip install "numpy" ml_dtypes
320316 - uses : Swatinem/rust-cache@v2
0 commit comments