Skip to content

Commit c4a7ab0

Browse files
sebergmdboom
authored andcommitted
Use Python 3.15b2 for now until cibuildwheel is updated (#2433)
* Use Python 3.15b2 for now until cibuildwheel is updated There actually *was* an ABI change in the thread_state struct (adding a field) and Cython grabs `current_exception` from it directly breaking Cython builds running on 3.15b4 but build prior to it. There is no fix other than building with 3.15b4 but since cibuildwheel is still on b2 the only "fix" is to pin to b2 for now (b3 would work as well to be fair). This *will* of course segfault again as soon as cibuildwheel is bumped to b4+ and then we can remove the precise `b2` versioning for setup-python. I am trying to re-activate the windows 3.15 builds, IIRC they were failing and skipped, so lets see. * Remove windows 3.15 runs again (at least until using NumPy wheels) (cherry picked from commit 3ef82d6)
1 parent f508101 commit c4a7ab0

3 files changed

Lines changed: 39 additions & 3 deletions

File tree

.github/workflows/build-wheel.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
#
33
# SPDX-License-Identifier: Apache-2.0
44

@@ -227,10 +227,19 @@ jobs:
227227
id: setup-python2
228228
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
229229
with:
230+
<<<<<<< HEAD
230231
# workaround for actions/runner-images#12377 (the cached 3.13.4 is buggy on Windows)
231232
python-version: ${{ matrix.python-version == '3.13' && '3.13.5' || matrix.python-version }}
232233
# allow prereleases only fetches prereleases for unreleased versions of Python
233234
allow-prereleases: true
235+
=======
236+
# TODO: Pin beta.2 precisely until cibuildwheel catches up (b4 broke ABI for Cython);
237+
# this precise pin requires the explicit `freethreaded`.
238+
# When 3.15 is officially supported we can also remove the `allow-prereleases` override.
239+
python-version: ${{ startsWith(matrix.python-version, '3.15') && '3.15.0-beta.2' || matrix.python-version }}
240+
freethreaded: ${{ endsWith(matrix.python-version, 't') }}
241+
allow-prereleases: ${{ startsWith(matrix.python-version, '3.15') }}
242+
>>>>>>> 3ef82d6892d (Use Python 3.15b2 for now until cibuildwheel is updated (#2433))
234243

235244
- name: verify free-threaded build
236245
if: endsWith(matrix.python-verison, 't')

.github/workflows/test-wheel-linux.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
#
33
# SPDX-License-Identifier: Apache-2.0
44

@@ -214,8 +214,17 @@ jobs:
214214
- name: Set up Python ${{ matrix.PY_VER }}
215215
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
216216
with:
217+
<<<<<<< HEAD
217218
python-version: ${{ matrix.PY_VER }}
218219
allow-prereleases: true
220+
=======
221+
# TODO: Pin beta.2 precisely until cibuildwheel catches up (b4 broke ABI for Cython)
222+
# this precise pin requires the explicit `freethreaded`.
223+
# When 3.15 is officially supported we can also remove the `allow-prereleases` override.
224+
python-version: ${{ startsWith(matrix.PY_VER, '3.15') && '3.15.0-beta.2' || matrix.PY_VER }}
225+
freethreaded: ${{ endsWith(matrix.PY_VER, 't') }}
226+
allow-prereleases: ${{ startsWith(matrix.PY_VER, '3.15') }}
227+
>>>>>>> 3ef82d6892d (Use Python 3.15b2 for now until cibuildwheel is updated (#2433))
219228
env:
220229
# we use self-hosted runners on which setup-python behaves weirdly...
221230
AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache"

.github/workflows/test-wheel-windows.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
#
33
# SPDX-License-Identifier: Apache-2.0
44

@@ -204,8 +204,26 @@ jobs:
204204
- name: Set up Python ${{ matrix.PY_VER }}
205205
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
206206
with:
207+
<<<<<<< HEAD
207208
python-version: ${{ matrix.PY_VER }}
208209
allow-prereleases: true
210+
=======
211+
# TODO: Pin beta.2 precisely until cibuildwheel catches up (b4 broke ABI for Cython)
212+
# this precise pin requires the explicit `freethreaded`.
213+
# When 3.15 is officially supported we can also remove the `allow-prereleases` override.
214+
python-version: ${{ startsWith(matrix.PY_VER, '3.15') && '3.15.0-beta.2' || matrix.PY_VER }}
215+
freethreaded: ${{ endsWith(matrix.PY_VER, 't') }}
216+
allow-prereleases: ${{ startsWith(matrix.PY_VER, '3.15') }}
217+
218+
- name: Verify LongPathsEnabled
219+
run: |
220+
$val = (Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled').LongPathsEnabled
221+
echo "LongPathsEnabled = $val"
222+
if ($val -ne 1) {
223+
echo "::error::LongPathsEnabled is not set to 1 (see issue #1820)"
224+
exit 1
225+
}
226+
>>>>>>> 3ef82d6892d (Use Python 3.15b2 for now until cibuildwheel is updated (#2433))
209227

210228
- name: Set up mini CTK
211229
if: ${{ matrix.LOCAL_CTK == '1' }}

0 commit comments

Comments
 (0)