From e6989d6eb64e1da8e7bca4b528bc6fb952110216 Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Wed, 2 Sep 2026 21:58:06 +0200 Subject: [PATCH] build: support Python 3.15 Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> --- .github/workflows/build-tarball.yml | 2 +- .github/workflows/coverage-linux-without-intl.yml | 2 +- .github/workflows/coverage-linux.yml | 2 +- .github/workflows/coverage-windows.yml | 2 +- .github/workflows/daily-wpt-fyi.yml | 2 +- .github/workflows/lint-release-proposal.yml | 2 +- .github/workflows/linters.yml | 2 +- .github/workflows/stress-test.yml | 2 +- .github/workflows/test-internet.yml | 2 +- .github/workflows/test-linux-quic.yml | 2 +- .github/workflows/test-linux.yml | 2 +- .github/workflows/test-macos.yml | 2 +- .github/workflows/tools.yml | 2 +- android-configure | 10 +++++++++- configure | 10 +++++++++- 15 files changed, 31 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml index 248e64bab776..e8795a407706 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -64,7 +64,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml index 92c9f3b88217..c4a76c9830dc 100644 --- a/.github/workflows/coverage-linux-without-intl.yml +++ b/.github/workflows/coverage-linux-without-intl.yml @@ -34,7 +34,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19 diff --git a/.github/workflows/coverage-linux.yml b/.github/workflows/coverage-linux.yml index e97b759bc6a4..e3f004958b46 100644 --- a/.github/workflows/coverage-linux.yml +++ b/.github/workflows/coverage-linux.yml @@ -34,7 +34,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19 diff --git a/.github/workflows/coverage-windows.yml b/.github/workflows/coverage-windows.yml index d0236cd7d609..be15745a5203 100644 --- a/.github/workflows/coverage-windows.yml +++ b/.github/workflows/coverage-windows.yml @@ -60,7 +60,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' FLAKY_TESTS: keep_retrying RUSTC_VERSION: '1.86' diff --git a/.github/workflows/daily-wpt-fyi.yml b/.github/workflows/daily-wpt-fyi.yml index 8dda0ff75d6e..1a50debdb6a4 100644 --- a/.github/workflows/daily-wpt-fyi.yml +++ b/.github/workflows/daily-wpt-fyi.yml @@ -13,7 +13,7 @@ on: - cron: 30 0 * * * env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' permissions: contents: read diff --git a/.github/workflows/lint-release-proposal.yml b/.github/workflows/lint-release-proposal.yml index e8ffab178458..64cd9d63c052 100644 --- a/.github/workflows/lint-release-proposal.yml +++ b/.github/workflows/lint-release-proposal.yml @@ -10,7 +10,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' NODE_VERSION: lts/* permissions: diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 6917eb995c9e..66efb640454a 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -14,7 +14,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' NODE_VERSION: lts/* permissions: diff --git a/.github/workflows/stress-test.yml b/.github/workflows/stress-test.yml index 6f1e75813915..438a40bfec7a 100644 --- a/.github/workflows/stress-test.yml +++ b/.github/workflows/stress-test.yml @@ -33,7 +33,7 @@ on: type: string env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' XCODE_VERSION: '16.4' CLANG_VERSION: '19' RUSTC_VERSION: '1.86' diff --git a/.github/workflows/test-internet.yml b/.github/workflows/test-internet.yml index dee3fa98d0dd..3e9d2b706731 100644 --- a/.github/workflows/test-internet.yml +++ b/.github/workflows/test-internet.yml @@ -39,7 +39,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19 diff --git a/.github/workflows/test-linux-quic.yml b/.github/workflows/test-linux-quic.yml index e1a05cf91859..af3d63699910 100644 --- a/.github/workflows/test-linux-quic.yml +++ b/.github/workflows/test-linux-quic.yml @@ -30,7 +30,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19 diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 7681a176139d..1a8319c3a5d0 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -39,7 +39,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19 diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index c53bcde2851c..0ec0ef635839 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -65,7 +65,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' XCODE_VERSION: '16.4' FLAKY_TESTS: keep_retrying RUSTC_VERSION: '1.86' diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index e80b65315a4a..c1becd681107 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -47,7 +47,7 @@ on: - zstd env: - PYTHON_VERSION: '3.14' + PYTHON_VERSION: '3.15' permissions: contents: read diff --git a/android-configure b/android-configure index b2628f95e8e4..f583c2476800 100755 --- a/android-configure +++ b/android-configure @@ -4,6 +4,7 @@ # Note that the mix of single and double quotes is intentional, # as is the fact that the ] goes on a new line. _=[ 'exec' '/bin/sh' '-c' ''' +command -v python3.15 >/dev/null && exec python3.15 "$0" "$@" command -v python3.14 >/dev/null && exec python3.14 "$0" "$@" command -v python3.13 >/dev/null && exec python3.13 "$0" "$@" command -v python3.12 >/dev/null && exec python3.12 "$0" "$@" @@ -22,7 +23,14 @@ except ImportError: from distutils.spawn import find_executable as which print('Node.js android configure: Found Python {}.{}.{}...'.format(*sys.version_info)) -acceptable_pythons = ((3, 14), (3, 13), (3, 12), (3, 11), (3, 10)) +acceptable_pythons = ( + (3, 15), + (3, 14), + (3, 13), + (3, 12), + (3, 11), + (3, 10), +) if sys.version_info[:2] in acceptable_pythons: import android_configure else: diff --git a/configure b/configure index f39c2d55e83d..b38d9453afe2 100755 --- a/configure +++ b/configure @@ -4,6 +4,7 @@ # Note that the mix of single and double quotes is intentional, # as is the fact that the ] goes on a new line. _=[ 'exec' '/bin/sh' '-c' ''' +command -v python3.15 >/dev/null && exec python3.15 "$0" "$@" command -v python3.14 >/dev/null && exec python3.14 "$0" "$@" command -v python3.13 >/dev/null && exec python3.13 "$0" "$@" command -v python3.12 >/dev/null && exec python3.12 "$0" "$@" @@ -22,7 +23,14 @@ except ImportError: from distutils.spawn import find_executable as which print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info)) -acceptable_pythons = ((3, 14), (3, 13), (3, 12), (3, 11), (3, 10)) +acceptable_pythons = ( + (3, 15), + (3, 14), + (3, 13), + (3, 12), + (3, 11), + (3, 10), +) if sys.version_info[:2] in acceptable_pythons: import configure else: