Repository navigation
build: support Python 3.15 - #65750
MikeMcC399 wants to merge 2 commits into
Conversation
|
Review requested:
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
Currently Node.js allows the following, so a manual backport will be needed for 24.x & 22.x to avoid overwriting and dropping the lower versions, which need to be preserved:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #65750 +/- ##
=======================================
Coverage 90.47% 90.47%
=======================================
Files 791 791
Lines 277084 277088 +4
Branches 53268 53278 +10
=======================================
+ Hits 250680 250704 +24
+ Misses 16818 16800 -18
+ Partials 9586 9584 -2 🚀 New features to boost your workflow:
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
There was however an EOL transition of Python 3.10 on 2026-10-01 . I plan to submit a PR to drop support for Python 3.10 in time for the upcoming Node.js 27 release. As in the past, this should not be backported to existing supported release lines. I'm holding back on this right now because submitting it whilst the PR for 3.15 is still pending will cause conflicts, and dropping the support for 3.10 is not urgently needed. |
This comment was marked as resolved.
This comment was marked as resolved.
|
e6989d6 to
33f0601
Compare
This comment was marked as resolved.
This comment was marked as resolved.
Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
33f0601 to
2148d11
Compare
|
https://github.com/nodejs/node/blob/main/.github/workflows/test-linux-perfetto.yml which was added on Sep 7, 2026 is also updated to run using Python 3.15 |
Situation
The Python list of supported versions includes Python 3.15 with
plannedfirst release date2026-10-012026-10-09 (see PEP 790).Node.js defines which versions of Python are supported in the configure script which covers Python 3.10 - 3.14, and currently excludes Python 3.15 for use in building and testing, since it is not yet explicitly listed under
acceptable_versions.Change
Add Python 3.15 to:
acceptable_versionsis spread over multiple lines to ease future backporting. Adding / removing versions can then be done independently without replacing the whole line. This will however need to be backported once manually before it becomes a benefit. For background see #60874 (comment).Replace Python 3.14 with Python 3.15 in GitHub Actions workflows.
See Python 3.15 - what's new
Note
Windows configurations for automated installation should be separately updated after this PR has landed. (
wingethowever has a blocker issue running in a PowerShell terminal with elevated privileges, so this will be delayed.)This change does not materially affect the Python versions used in Jenkins, which are determined by each OS' setup. Running in Jenkins only checks that the addition of Python 3.15 didn't prevent any of the existing lower versions from running.