Skip to content

Commit 85aad26

Browse files
Upgrade cibuildwheel to v2.20.0 and add Python 3.13/3.14 support
This commit fixes the CI failures caused by cibuildwheel v2.17.0 not supporting Python 3.13/3.14. Changes: - Upgraded cibuildwheel from v2.17.0 to v2.20.0 - v2.20.0 adds support for Python 3.13 and 3.14 - Switched Python 3.13/3.14 Linux builds to manylinux_2_28 - manylinux2014 images don't ship Python 3.13/3.14 interpreters - manylinux_2_28 is required for newer Python versions - Added prerelease_pythons flag for all Python 3.14 entries - Python 3.14 may still be in pre-release status - Enables building with pre-release Python interpreters - Added CIBW_MANYLINUX_AARCH64_IMAGE support - Ensures aarch64 builds also use the correct manylinux image This fixes the 'No build identifiers selected' error that was causing all Python 3.13/3.14 builds to fail on all platforms. Platforms affected: Windows, Linux x86_64, Linux aarch64, macOS x86_64, macOS arm64 Co-Authored-By: atksh <[email protected]>
1 parent 5d611dc commit 85aad26

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

.github/workflows/cibuildwheel.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ jobs:
5151
python: 314
5252
platform_id: win_amd64
5353
arch: AMD64
54+
prerelease_pythons: 1
5455

5556
# Linux 64 bit manylinux2014
5657
# Python 3.6 and 3.7 dropped (see Windows section comment)
@@ -82,13 +83,14 @@ jobs:
8283
- os: ubuntu-latest
8384
python: 313
8485
platform_id: manylinux_x86_64
85-
manylinux_image: manylinux2014
86+
manylinux_image: manylinux_2_28
8687
arch: x86_64
8788
- os: ubuntu-latest
8889
python: 314
8990
platform_id: manylinux_x86_64
90-
manylinux_image: manylinux2014
91+
manylinux_image: manylinux_2_28
9192
arch: x86_64
93+
prerelease_pythons: 1
9294

9395
# Linux 64 bit aarch64
9496
# Python 3.6 and 3.7 dropped (see Windows section comment)
@@ -120,13 +122,14 @@ jobs:
120122
- os: ubuntu-latest
121123
python: 313
122124
platform_id: manylinux_aarch64
123-
manylinux_image: manylinux2014
125+
manylinux_image: manylinux_2_28
124126
arch: aarch64
125127
- os: ubuntu-latest
126128
python: 314
127129
platform_id: manylinux_aarch64
128-
manylinux_image: manylinux2014
130+
manylinux_image: manylinux_2_28
129131
arch: aarch64
132+
prerelease_pythons: 1
130133

131134
# MacOS x86_64
132135
# Python 3.6 and 3.7 dropped (see Windows section comment)
@@ -165,6 +168,7 @@ jobs:
165168
platform_id: macosx_x86_64
166169
macosx_deployment_target: 10.14
167170
arch: x86_64
171+
prerelease_pythons: 1
168172

169173
# MacOS arm64
170174
- os: macos-14
@@ -202,6 +206,7 @@ jobs:
202206
platform_id: macosx_arm64
203207
macosx_deployment_target: 11.7
204208
arch: arm64
209+
prerelease_pythons: 1
205210

206211

207212
steps:
@@ -218,15 +223,17 @@ jobs:
218223
with:
219224
platforms: all
220225
- name: Build wheels
221-
uses: pypa/cibuildwheel@v2.17.0
226+
uses: pypa/cibuildwheel@v2.20.0
222227
env:
223228
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }}
229+
CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.manylinux_image }}
224230
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
225231
CIBW_BEFORE_BUILD: pip install pybind11
226232
CIBW_TEST_COMMAND: pytest {project}/tests -vv
227233
CIBW_TEST_REQUIRES: pytest numpy
228234
CIBW_BUILD_VERBOSITY: 1
229235
CIBW_ARCHS: ${{ matrix.arch }}
236+
CIBW_PRERELEASE_PYTHONS: ${{ matrix.prerelease_pythons || '0' }}
230237
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
231238
- uses: actions/upload-artifact@v4
232239
with:

0 commit comments

Comments
 (0)