Skip to content

Commit 29840ce

Browse files
committed
Add Python 3.13 (default) replacement jobs for removed 3.13t jobs
After removing Python 3.13t support (incompatible with PyCriticalSection_BeginMutex which requires Python 3.14+), we're adding replacement jobs using Python 3.13 (default) to maintain test coverage in key dimensions: 1. ubuntu-latest, Python 3.13: C++20 + DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION - Replaces: ubuntu-latest, 3.13t with same config - Maintains coverage for this specific configuration combination 2. macos-15-intel, Python 3.13: C++11 - Replaces: macos-15-intel, 3.13t with same config - Maintains macOS coverage for Python 3.13 3. manylinux (musllinux), Python 3.13: GIL testing - Replaces: manylinux, 3.13t job - Maintains manylinux/musllinux container testing coverage These additions are proposed to get feedback on which jobs should be kept to maintain appropriate test coverage without the experimental 3.13t builds.
1 parent 61e032e commit 29840ce

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

.github/workflows/ci.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ jobs:
8383
- runs-on: ubuntu-latest
8484
python-version: '3.12'
8585
cmake-args: -DPYBIND11_TEST_SMART_HOLDER=ON -DPYBIND11_SIMPLE_GIL_MANAGEMENT=ON
86+
- runs-on: ubuntu-latest
87+
python-version: '3.13'
88+
cmake-args: -DCMAKE_CXX_STANDARD=20 -DPYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION=ON
8689
- runs-on: ubuntu-latest
8790
python-version: '3.14'
8891
cmake-args: -DCMAKE_CXX_STANDARD=14
@@ -99,6 +102,9 @@ jobs:
99102
- runs-on: macos-15-intel
100103
python-version: '3.11'
101104
cmake-args: -DPYBIND11_TEST_SMART_HOLDER=ON
105+
- runs-on: macos-15-intel
106+
python-version: '3.13'
107+
cmake-args: -DCMAKE_CXX_STANDARD=11
102108
- runs-on: macos-latest
103109
python-version: '3.12'
104110
cmake-args: -DCMAKE_CXX_STANDARD=17 -DPYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION=ON
@@ -230,6 +236,32 @@ jobs:
230236
run: cmake --build . --target test_cross_module_rtti
231237

232238

239+
manylinux:
240+
name: Manylinux on 🐍 3.13 • GIL
241+
if: github.event.pull_request.draft == false
242+
runs-on: ubuntu-latest
243+
timeout-minutes: 40
244+
container: quay.io/pypa/musllinux_1_2_x86_64:latest
245+
steps:
246+
- uses: actions/checkout@v6
247+
with:
248+
fetch-depth: 0
249+
250+
- name: Prepare uv's path
251+
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
252+
253+
- name: Install ninja
254+
run: uv tool install ninja
255+
256+
- name: Configure via preset
257+
run: cmake --preset venv -DPYBIND11_CREATE_WITH_UV=python3.13
258+
259+
- name: Build C++11
260+
run: cmake --build --preset venv
261+
262+
- name: Python tests C++11
263+
run: cmake --build --preset testsvenv -t pytest
264+
233265
deadsnakes:
234266
if: github.event.pull_request.draft == false
235267
strategy:

0 commit comments

Comments
 (0)