From 33f06013a7213169189e5ace951965704d09ad06 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 53e625ef889b..92aa35af00e2 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' NODE_VERSION: lts/* diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml index aa5ed3a3747f..4ab6975305b9 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 63ac4fa5f2e0..a642c0fada06 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 0736dea32522..beffb26f3ec6 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.88' diff --git a/.github/workflows/daily-wpt-fyi.yml b/.github/workflows/daily-wpt-fyi.yml index d15f21010cd9..8dea276d0524 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 027aee336ace..9652eea91b89 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 9afdb2ef5a64..a4997b3d4ccd 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 0f17615671cd..f715815afc40 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.88' diff --git a/.github/workflows/test-internet.yml b/.github/workflows/test-internet.yml index 672893a999aa..fc569f4a53e5 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 eca8521a310e..c3650c42953a 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 65aead07b923..8f02723bb64e 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 c5638281e5ad..c64cb77241bb 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.88' diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index 8c396e7378fb..013b445e2f3c 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: