From aa8ae24dd7fa8115f5ee10507fae1aa95f1cecfd Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 28 Feb 2026 00:17:56 +0000 Subject: [PATCH 1/2] Add Python 3.14 support to CI workflows - Update test.yml to add python-version matrix dimension, testing both 3.13 and 3.14 across all platforms, with allow-prereleases: true to handle 3.14 pre-release builds - Update publish.yml to add CIBW_PRERELEASE_PYTHONS: true so cibuildwheel can build wheels for pre-release Python 3.14 https://claude.ai/code/session_01SEzYTNWMRtJvmGH1ntaPoo --- .github/workflows/publish.yml | 1 + .github/workflows/test.yml | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c1eaf2e..22109ce 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -59,6 +59,7 @@ jobs: uses: pypa/cibuildwheel@v2.23.2 env: CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp314-*" + CIBW_PRERELEASE_PYTHONS: "true" CIBW_ARCHS_MACOS: "x86_64 arm64" CIBW_ARCHS_LINUX: "x86_64 aarch64" #https://cibuildwheel.pypa.io/en/stable/options/#archs diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8b276ec..8fc6c9c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,19 +11,21 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] + python-version: ["3.13", "3.14"] runs-on: ${{ matrix.os }} - + env: CI: true - + steps: - uses: actions/checkout@v4 - - - name: Set up Python 3.13 + + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: - python-version: "3.13" + python-version: "${{ matrix.python-version }}" + allow-prereleases: true - name: Install dependencies (Linux) if: runner.os == 'Linux' From e6a99e0d2e7e9c6b20f0e2fe1362fead925be712 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 28 Feb 2026 00:28:29 +0000 Subject: [PATCH 2/2] Upgrade cibuildwheel to v3.3.1 and remove pre-release workaround flags Python 3.14 is officially stable (released Oct 7, 2025). cibuildwheel v3.1+ natively recognizes cp314 as a stable target without CIBW_PRERELEASE_PYTHONS. Upgrade to v3.3.1 (Jan 2026, includes CPython 3.14.2) and remove the pre-release workaround flags from both workflows. https://claude.ai/code/session_01SEzYTNWMRtJvmGH1ntaPoo --- .github/workflows/publish.yml | 3 +-- .github/workflows/test.yml | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 22109ce..34a23b6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -56,10 +56,9 @@ jobs: - name: Build # https://github.com/pypa/cibuildwheel - uses: pypa/cibuildwheel@v2.23.2 + uses: pypa/cibuildwheel@v3.3.1 env: CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp314-*" - CIBW_PRERELEASE_PYTHONS: "true" CIBW_ARCHS_MACOS: "x86_64 arm64" CIBW_ARCHS_LINUX: "x86_64 aarch64" #https://cibuildwheel.pypa.io/en/stable/options/#archs diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8fc6c9c..8da2ad4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,7 +25,6 @@ jobs: uses: actions/setup-python@v4 with: python-version: "${{ matrix.python-version }}" - allow-prereleases: true - name: Install dependencies (Linux) if: runner.os == 'Linux'