Skip to content

Commit 7da8106

Browse files
authored
ci: test 3.14, arm hosts, graalpy, drop pypy 3.10 (#554)
1 parent 5cd861c commit 7da8106

File tree

1 file changed

+52
-13
lines changed

1 file changed

+52
-13
lines changed

.github/workflows/ci.yml

Lines changed: 52 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,18 @@ jobs:
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
@@ -113,6 +139,14 @@ jobs:
113139
python-architecture: "arm64",
114140
rust-target: "aarch64-apple-darwin",
115141
}
142+
# no graalpy available on Windows
143+
- python-version: graalpy25.0
144+
platform:
145+
{
146+
os: "windows-latest",
147+
python-architecture: "x64",
148+
rust-target: "x86_64-pc-windows-msvc",
149+
}
116150

117151
env:
118152
SETUPTOOLS_RUST_CARGO_PROFILE: dev
@@ -144,10 +178,9 @@ jobs:
144178
run: nox -s test-examples
145179

146180
- name: Test macOS universal2
147-
if: ${{ startsWith(matrix.platform.os, 'macos') && !startsWith(matrix.python-version, 'pypy') }}
181+
if: ${{ startsWith(matrix.platform.os, 'macos') && !startsWith(matrix.python-version, 'pypy') && !startsWith(matrix.python-version, 'graalpy') }}
148182
shell: bash
149183
env:
150-
MACOSX_DEPLOYMENT_TARGET: "10.9"
151184
ARCHFLAGS: -arch x86_64 -arch arm64
152185
run: |
153186
rustup target add aarch64-apple-darwin
@@ -173,13 +206,21 @@ jobs:
173206
# If one platform fails, allow the rest to keep testing if `CI-no-fail-fast` label is present
174207
fail-fast: ${{ !contains(github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }}
175208
matrix:
176-
os: [ubuntu-latest, macos-latest, windows-latest]
209+
os:
210+
[
211+
ubuntu-latest,
212+
macos-latest,
213+
windows-latest,
214+
windows-11-arm,
215+
macos-15-intel,
216+
ubuntu-24.04-arm,
217+
]
177218
steps:
178219
- uses: actions/checkout@v5
179220
- name: Setup python
180221
uses: actions/setup-python@v6
181222
with:
182-
python-version: 3.9
223+
python-version: "3.x"
183224

184225
- uses: dtolnay/rust-toolchain@stable
185226

@@ -189,8 +230,6 @@ jobs:
189230
- name: Build an abi3 wheel
190231
shell: bash
191232
env:
192-
# https://github.com/actions/setup-python/issues/26
193-
MACOSX_DEPLOYMENT_TARGET: 10.9
194233
DIST_EXTRA_CONFIG: /tmp/build-opts.cfg
195234
run: |
196235
set -e
@@ -201,12 +240,12 @@ jobs:
201240
python -m build --no-isolation
202241
ls -la dist/
203242
204-
# Now we switch to a differnet Python version and ensure we can install
243+
# Now we switch to a different Python version and ensure we can install
205244
# the wheel we just built.
206245
- name: Setup python
207246
uses: actions/setup-python@v6
208247
with:
209-
python-version: "3.10"
248+
python-version: "3.11"
210249

211250
- name: Install abi3 wheel and run tests
212251
shell: bash

0 commit comments

Comments
 (0)