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 <marcoippolito54@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
This commit is contained in:
Christian Clauss 2025-10-13 16:56:33 +02:00 committed by GitHub
parent 4bfa387f6d
commit 8bc7dfd16f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 29 additions and 13 deletions

View File

@ -28,7 +28,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
FLAKY_TESTS: keep_retrying FLAKY_TESTS: keep_retrying
CLANG_VERSION: '19' CLANG_VERSION: '19'
@ -47,6 +47,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Environment Information - name: Environment Information
run: npx envinfo run: npx envinfo
- name: Make tarball - name: Make tarball
@ -82,6 +83,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Set up sccache - name: Set up sccache
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with: with:

View File

@ -34,7 +34,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
FLAKY_TESTS: keep_retrying FLAKY_TESTS: keep_retrying
CLANG_VERSION: '19' CLANG_VERSION: '19'
CC: sccache clang-19 CC: sccache clang-19
@ -60,6 +60,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Set up sccache - name: Set up sccache
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with: with:

View File

@ -34,7 +34,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
FLAKY_TESTS: keep_retrying FLAKY_TESTS: keep_retrying
CLANG_VERSION: '19' CLANG_VERSION: '19'
CC: sccache clang-19 CC: sccache clang-19
@ -60,6 +60,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Set up sccache - name: Set up sccache
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with: with:

View File

@ -34,7 +34,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
FLAKY_TESTS: keep_retrying FLAKY_TESTS: keep_retrying
permissions: permissions:
@ -52,6 +52,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Install deps - name: Install deps
run: choco install nasm run: choco install nasm
- name: Environment Information - name: Environment Information

View File

@ -13,7 +13,7 @@ on:
- cron: 30 0 * * * - cron: 30 0 * * *
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
permissions: permissions:
contents: read contents: read
@ -42,6 +42,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Environment Information - name: Environment Information
run: npx envinfo run: npx envinfo

View File

@ -10,7 +10,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
NODE_VERSION: lts/* NODE_VERSION: lts/*
permissions: permissions:

View File

@ -14,7 +14,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
NODE_VERSION: lts/* NODE_VERSION: lts/*
permissions: permissions:
@ -47,6 +47,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Environment Information - name: Environment Information
run: npx envinfo run: npx envinfo
- name: Lint C/C++ files - name: Lint C/C++ files
@ -67,6 +68,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Environment Information - name: Environment Information
run: npx envinfo run: npx envinfo
- name: Format C/C++ files - name: Format C/C++ files
@ -149,6 +151,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Environment Information - name: Environment Information
run: npx envinfo run: npx envinfo
- name: Lint Python - name: Lint Python
@ -166,6 +169,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Environment Information - name: Environment Information
run: npx envinfo run: npx envinfo
- name: Lint YAML - name: Lint YAML

View File

@ -31,7 +31,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
FLAKY_TESTS: keep_retrying FLAKY_TESTS: keep_retrying
CLANG_VERSION: '19' CLANG_VERSION: '19'
CC: sccache clang-19 CC: sccache clang-19
@ -57,6 +57,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Set up sccache - name: Set up sccache
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with: with:

View File

@ -25,7 +25,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
FLAKY_TESTS: keep_retrying FLAKY_TESTS: keep_retrying
CLANG_VERSION: '19' CLANG_VERSION: '19'
CC: sccache clang-19 CC: sccache clang-19
@ -56,6 +56,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Set up sccache - name: Set up sccache
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
with: with:

View File

@ -29,7 +29,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
XCODE_VERSION: '16.4' XCODE_VERSION: '16.4'
FLAKY_TESTS: keep_retrying FLAKY_TESTS: keep_retrying
@ -55,6 +55,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Set up Xcode ${{ env.XCODE_VERSION }} - name: Set up Xcode ${{ env.XCODE_VERSION }}
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app
- name: Set up sccache - name: Set up sccache

View File

@ -42,7 +42,7 @@ on:
- zstd - zstd
env: env:
PYTHON_VERSION: '3.12' PYTHON_VERSION: '3.14'
permissions: permissions:
contents: read contents: read
@ -280,6 +280,7 @@ jobs:
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- run: ${{ matrix.run }} - run: ${{ matrix.run }}
if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id
env: env:

View File

@ -4,6 +4,7 @@
# Note that the mix of single and double quotes is intentional, # Note that the mix of single and double quotes is intentional,
# as is the fact that the ] goes on a new line. # as is the fact that the ] goes on a new line.
_=[ 'exec' '/bin/sh' '-c' ''' _=[ '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.13 >/dev/null && exec python3.13 "$0" "$@"
command -v python3.12 >/dev/null && exec python3.12 "$0" "$@" command -v python3.12 >/dev/null && exec python3.12 "$0" "$@"
command -v python3.11 >/dev/null && exec python3.11 "$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 from distutils.spawn import find_executable as which
print('Node.js android configure: Found Python {}.{}.{}...'.format(*sys.version_info)) 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: if sys.version_info[:2] in acceptable_pythons:
import android_configure import android_configure
else: else:

3
configure vendored
View File

@ -4,6 +4,7 @@
# Note that the mix of single and double quotes is intentional, # Note that the mix of single and double quotes is intentional,
# as is the fact that the ] goes on a new line. # as is the fact that the ] goes on a new line.
_=[ 'exec' '/bin/sh' '-c' ''' _=[ '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.13 >/dev/null && exec python3.13 "$0" "$@"
command -v python3.12 >/dev/null && exec python3.12 "$0" "$@" command -v python3.12 >/dev/null && exec python3.12 "$0" "$@"
command -v python3.11 >/dev/null && exec python3.11 "$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 from distutils.spawn import find_executable as which
print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info)) 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: if sys.version_info[:2] in acceptable_pythons:
import configure import configure
else: else: