From 0f1501d89715935fddcf4dc13956c9043db3b5fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= Date: Tue, 30 Sep 2025 11:58:46 -0600 Subject: [PATCH] Build CPython 3.14 wheels --- .github/workflows/packages.yml | 15 +++++++++------ .github/workflows/tests.yml | 15 +++++++++------ setup.py | 1 + tox.ini | 2 +- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 1375a4b6..51ad13c7 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -66,7 +66,7 @@ jobs: matrix: platform: [manylinux, musllinux] arch: [x86_64, aarch64, ppc64le] - pyver: [cp39, cp310, cp311, cp312, cp313] + pyver: [cp39, cp310, cp311, cp312, cp313, cp314] runs-on: ubuntu-latest steps: @@ -83,8 +83,9 @@ jobs: key: libpq-${{ env.LIBPQ_VERSION }}-${{ matrix.platform }}-${{ matrix.arch }} - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@v3.2.0 env: + CIBW_SKIP: "cp31?t-*" CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 CIBW_MANYLINUX_I686_IMAGE: manylinux2014 CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 @@ -140,7 +141,7 @@ jobs: matrix: # These archs require an Apple M1 runner: [arm64, universal2] arch: [x86_64, arm64] - pyver: [cp39, cp310, cp311, cp312, cp313] + pyver: [cp39, cp310, cp311, cp312, cp313, cp314] steps: - name: Checkout repos @@ -153,8 +154,9 @@ jobs: key: libpq-${{ env.LIBPQ_VERSION }}-macos-${{ matrix.arch }} - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@v3.2.0 env: + CIBW_SKIP: "cp31?t-*" CIBW_BUILD: ${{matrix.pyver}}-macosx_${{matrix.arch}} CIBW_ARCHS_MACOS: ${{matrix.arch}} MACOSX_ARCHITECTURE: ${{matrix.arch}} @@ -184,7 +186,7 @@ jobs: fail-fast: false matrix: arch: [win_amd64] - pyver: [cp39, cp310, cp311, cp312, cp313] + pyver: [cp39, cp310, cp311, cp312, cp313, cp314] package_name: [psycopg2, psycopg2-binary] defaults: @@ -223,8 +225,9 @@ jobs: if: ${{ matrix.package_name != 'psycopg2' }} - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@v3.2.0 env: + CIBW_SKIP: "cp31?t-*" VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" # cache vcpkg CIBW_BUILD: ${{matrix.pyver}}-${{matrix.arch}} CIBW_ARCHS_WINDOWS: AMD64 x86 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a62a7556..a4d2bbde 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,18 +16,20 @@ jobs: fail-fast: false matrix: include: - - {python: "3.9", postgres: "14"} - - {python: "3.10", postgres: "15"} - - {python: "3.11", postgres: "16"} - - {python: "3.12", postgres: "17"} - - {python: "3.13", postgres: "18"} + - {python: "3.9", postgres: "13"} + - {python: "3.10", postgres: "14"} + - {python: "3.11", postgres: "15"} + - {python: "3.12", postgres: "16"} + - {python: "3.13", postgres: "17"} + - {python: "3.14", postgres: "18"} # Opposite extremes of the supported Py/PG range, other architecture - {python: "3.9", postgres: "18", architecture: "x86"} - {python: "3.10", postgres: "17", architecture: "x86"} - {python: "3.11", postgres: "16", architecture: "x86"} - {python: "3.12", postgres: "15", architecture: "x86"} - - {python: "3.13", postgres: "13", architecture: "x86"} + - {python: "3.13", postgres: "14", architecture: "x86"} + - {python: "3.14", postgres: "13", architecture: "x86"} env: PSYCOPG2_TESTDB: postgres @@ -70,6 +72,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} + allow-prereleases: true - name: Run tests env: MATRIX_PYTHON: ${{ matrix.python }} diff --git a/setup.py b/setup.py index 0ed11d76..ee3b8d91 100644 --- a/setup.py +++ b/setup.py @@ -56,6 +56,7 @@ Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 Programming Language :: Python :: 3.13 +Programming Language :: Python :: 3.14 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: Implementation :: CPython Programming Language :: C diff --git a/tox.ini b/tox.ini index 5b5905e6..b18c3d62 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = {3.9,3.10,3.11,3.12,3.13} +envlist = {3.9,3.10,3.11,3.12,3.13,3.14} [testenv] commands = make check