From f3ea5b6567e829633d28399020517841482da9ca Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Mon, 13 Oct 2025 16:56:33 +0200 Subject: [PATCH 1/2] 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 fb2e960e1cdae5..619c411a896888 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -30,7 +30,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying permissions: @@ -48,6 +48,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 @@ -79,6 +80,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 ee42321b8688fe..aaae35225f2328 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 CC: sccache clang CXX: sccache clang++ @@ -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 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 7786c46f2e7776..f9c3803b0d3c37 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 CC: sccache clang CXX: sccache clang++ @@ -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 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 eec66bc20b7875..f34af4a1494ad0 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 7fdfeb48e85b28..83cc0cb68a83d1 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 c3e0ee34d18188..bb3a3ac6778a54 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 0821d30c6b17e2..90798ce2a77ce0 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 d97579b6ef6a72..4ffcc6f9431243 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 CC: sccache clang CXX: sccache clang++ @@ -52,6 +52,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 a443a6db731226..330de19ec3e334 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -27,7 +27,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' FLAKY_TESTS: keep_retrying CC: sccache clang CXX: sccache clang++ @@ -53,6 +53,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 cabb5e23985265..c735f3b9179c98 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -31,7 +31,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' XCODE_VERSION: '16.1' FLAKY_TESTS: keep_retrying @@ -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 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 cc43d579436f68..bb7adcd29e345a 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -43,7 +43,7 @@ on: - zstd env: - PYTHON_VERSION: '3.12' + PYTHON_VERSION: '3.14' permissions: contents: read @@ -291,6 +291,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 2558f52757e442..0467e7a90b79a4 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 412f0b416e79c3..0d8f79ba9ab396 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: From a0f4121f2a8228d08594272c6275676ceacce01a Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Wed, 14 Jan 2026 08:10:42 +0100 Subject: [PATCH 2/2] remove setup-python allow-prereleases: true --- .github/workflows/build-tarball.yml | 2 -- .github/workflows/coverage-linux-without-intl.yml | 1 - .github/workflows/coverage-linux.yml | 1 - .github/workflows/coverage-windows.yml | 1 - .github/workflows/daily-wpt-fyi.yml | 1 - .github/workflows/linters.yml | 4 ---- .github/workflows/test-internet.yml | 1 - .github/workflows/test-linux.yml | 1 - .github/workflows/test-macos.yml | 1 - .github/workflows/tools.yml | 1 - 10 files changed, 14 deletions(-) diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml index 619c411a896888..ecdd8bdc47730f 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -48,7 +48,6 @@ 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 @@ -80,7 +79,6 @@ 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 aaae35225f2328..4185cba8ae08ce 100644 --- a/.github/workflows/coverage-linux-without-intl.yml +++ b/.github/workflows/coverage-linux-without-intl.yml @@ -55,7 +55,6 @@ 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 f9c3803b0d3c37..b6ae574ac42615 100644 --- a/.github/workflows/coverage-linux.yml +++ b/.github/workflows/coverage-linux.yml @@ -55,7 +55,6 @@ 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 f34af4a1494ad0..91079a47b2cd53 100644 --- a/.github/workflows/coverage-windows.yml +++ b/.github/workflows/coverage-windows.yml @@ -52,7 +52,6 @@ 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 83cc0cb68a83d1..93172bbc548d25 100644 --- a/.github/workflows/daily-wpt-fyi.yml +++ b/.github/workflows/daily-wpt-fyi.yml @@ -42,7 +42,6 @@ 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/linters.yml b/.github/workflows/linters.yml index 90798ce2a77ce0..3f14a610b0acf4 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -47,7 +47,6 @@ 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 @@ -68,7 +67,6 @@ 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 @@ -151,7 +149,6 @@ 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 @@ -169,7 +166,6 @@ 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 4ffcc6f9431243..bfaed237d47d15 100644 --- a/.github/workflows/test-internet.yml +++ b/.github/workflows/test-internet.yml @@ -52,7 +52,6 @@ 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 330de19ec3e334..23ae5db66c4d0b 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -53,7 +53,6 @@ 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 c735f3b9179c98..711e87768fa95f 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -57,7 +57,6 @@ 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 bb7adcd29e345a..4312fe5d7295e8 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -291,7 +291,6 @@ 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: