From 8bc7dfd16fb95d5585eaaf0cea678ba1f9f4a755 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Mon, 13 Oct 2025 16:56:33 +0200 Subject: [PATCH] build: test on Python 3.14 release candidate 3 Python v3.14 -- October 7th * https://www.python.org/download/pre-releases * https://www.python.org/downloads/release/python-3140rc3 PR-URL: https://github.com/nodejs/node/pull/59983 Reviewed-By: Marco Ippolito Reviewed-By: Stefan Stojanovic Reviewed-By: Stewart X Addison --- .github/workflows/build-tarball.yml | 4 +++- .github/workflows/coverage-linux-without-intl.yml | 3 ++- .github/workflows/coverage-linux.yml | 3 ++- .github/workflows/coverage-windows.yml | 3 ++- .github/workflows/daily-wpt-fyi.yml | 3 ++- .github/workflows/lint-release-proposal.yml | 2 +- .github/workflows/linters.yml | 6 +++++- .github/workflows/test-internet.yml | 3 ++- .github/workflows/test-linux.yml | 3 ++- .github/workflows/test-macos.yml | 3 ++- .github/workflows/tools.yml | 3 ++- android-configure | 3 ++- configure | 3 ++- 13 files changed, 29 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml index ca8f7db736..365f5eccd5 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -28,7 +28,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' @@ -47,6 +47,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Environment Information run: npx envinfo - name: Make tarball @@ -82,6 +83,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Set up sccache uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 with: diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml index 36307e78eb..502d574d54 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.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: sccache clang-19 @@ -60,6 +60,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Set up sccache uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 with: diff --git a/.github/workflows/coverage-linux.yml b/.github/workflows/coverage-linux.yml index 3fd3e2d92d..9160412add 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.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: sccache clang-19 @@ -60,6 +60,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Set up sccache uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 with: diff --git a/.github/workflows/coverage-windows.yml b/.github/workflows/coverage-windows.yml index eec66bc20b..f34af4a149 100644 --- a/.github/workflows/coverage-windows.yml +++ b/.github/workflows/coverage-windows.yml @@ -34,7 +34,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying permissions: @@ -52,6 +52,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Install deps run: choco install nasm - name: Environment Information diff --git a/.github/workflows/daily-wpt-fyi.yml b/.github/workflows/daily-wpt-fyi.yml index 57cdc99bfa..41645a6a1a 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.12' + PYTHON_VERSION: '3.14' permissions: contents: read @@ -42,6 +42,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Environment Information run: npx envinfo diff --git a/.github/workflows/lint-release-proposal.yml b/.github/workflows/lint-release-proposal.yml index c3e0ee34d1..bb3a3ac677 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.12' + PYTHON_VERSION: '3.14' NODE_VERSION: lts/* permissions: diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 8ef41b0a20..4f987182cd 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -14,7 +14,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' NODE_VERSION: lts/* permissions: @@ -47,6 +47,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Environment Information run: npx envinfo - name: Lint C/C++ files @@ -67,6 +68,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Environment Information run: npx envinfo - name: Format C/C++ files @@ -149,6 +151,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Environment Information run: npx envinfo - name: Lint Python @@ -166,6 +169,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Environment Information run: npx envinfo - name: Lint YAML diff --git a/.github/workflows/test-internet.yml b/.github/workflows/test-internet.yml index 33fabf14a2..3af0aa1610 100644 --- a/.github/workflows/test-internet.yml +++ b/.github/workflows/test-internet.yml @@ -31,7 +31,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: sccache clang-19 @@ -57,6 +57,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Set up sccache uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 with: diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 676b515bef..cf2b0e1a08 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -25,7 +25,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying CLANG_VERSION: '19' CC: sccache clang-19 @@ -56,6 +56,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Set up sccache uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 with: diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 660bd38d68..80f0cba37f 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -29,7 +29,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' XCODE_VERSION: '16.4' FLAKY_TESTS: keep_retrying @@ -55,6 +55,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - name: Set up Xcode ${{ env.XCODE_VERSION }} run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app - name: Set up sccache diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index 0a17981b65..c101c6432f 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -42,7 +42,7 @@ on: - zstd env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' permissions: contents: read @@ -280,6 +280,7 @@ jobs: uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ env.PYTHON_VERSION }} + allow-prereleases: true - run: ${{ matrix.run }} if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id env: diff --git a/android-configure b/android-configure index 2558f52757..0467e7a90b 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.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" "$@" command -v python3.11 >/dev/null && exec python3.11 "$0" "$@" @@ -22,7 +23,7 @@ except ImportError: from distutils.spawn import find_executable as which print('Node.js android configure: Found Python {}.{}.{}...'.format(*sys.version_info)) -acceptable_pythons = ((3, 13), (3, 12), (3, 11), (3, 10), (3, 9)) +acceptable_pythons = ((3, 14), (3, 13), (3, 12), (3, 11), (3, 10), (3, 9)) if sys.version_info[:2] in acceptable_pythons: import android_configure else: diff --git a/configure b/configure index 412f0b416e..0d8f79ba9a 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.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" "$@" command -v python3.11 >/dev/null && exec python3.11 "$0" "$@" @@ -22,7 +23,7 @@ except ImportError: from distutils.spawn import find_executable as which print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info)) -acceptable_pythons = ((3, 13), (3, 12), (3, 11), (3, 10), (3, 9)) +acceptable_pythons = ((3, 14), (3, 13), (3, 12), (3, 11), (3, 10), (3, 9)) if sys.version_info[:2] in acceptable_pythons: import configure else: