Skip to content

gh-146197: Run -m test.pythoninfo on the Emscripten CI#146332

Merged
vstinner merged 3 commits intopython:mainfrom
vstinner:emscripten_pythoninfo
Mar 23, 2026
Merged

gh-146197: Run -m test.pythoninfo on the Emscripten CI#146332
vstinner merged 3 commits intopython:mainfrom
vstinner:emscripten_pythoninfo

Conversation

@vstinner
Copy link
Member

@vstinner vstinner commented Mar 23, 2026

Copy link
Contributor

@hoodmane hoodmane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @vstinner. Do you want to add this to the buildbot as well?

@vstinner
Copy link
Member Author

This change adds "Display build info" to the CI. Examples from this CI run on this PR:

  • platform.platform: Emscripten-4.0.12
  • sys._emscripten_info: Node.js/24

I'm surprised that sys._emscripten_info only logs Node.js major version. The code uses info = "Node.js ".concat(process.version); in Python/sysmodule.c, so I expected "Node.js xxx", but we get "Node.js/xxx", where does "/" come from? :-)

Log examples:

os.cpu_count: 1
os.environ[GITHUB_ACTIONS]: true
os.uname: posix.uname_result(sysname='Emscripten', nodename='emscripten', release='4.0.12', version='#1', machine='wasm32')

platform.freedesktop_os_release[NAME]: Ubuntu
platform.freedesktop_os_release[VERSION]: 24.04.3 LTS (Noble Numbat)

platform.libc_ver: emscripten 4.0.12
platform.platform: Emscripten-4.0.12-wasm32-32bit

support.has_fork_support: False
support.has_socket_support: False
support.has_subprocess_support: False
support.is_emscripten: True
support.is_wasi: False
support.is_wasm32: True

sys._emscripten_info: sys._emscripten_info(emscripten_version=(4, 0, 12), runtime='Node.js/24', pthreads=False, shared_memory=False)
sys.executable: /home/runner/work/cpython/cpython/cross-build/wasm32-emscripten/build/python/python.sh
sys.filesystem_encoding: utf-8/surrogateescape
sys.maxsize: 2147483647

sys.version: 3.15.0a7+ (remotes/pull/146332/merge-dirty:39b0363, Mar 23 2026, 16:44:40) [Clang 22.0.0git (https:/github.com/llvm/llvm-project 7f93487862d98bf1c168babba8

sysconfig[MULTIARCH]: wasm32-emscripten
sysconfig[SOABI]: cpython-315-wasm32-emscripten

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
@vstinner
Copy link
Member Author

Thanks @vstinner. Do you want to add this to the buildbot as well?

Yes, I would like to add this step to the buildbot as well. I will backport this change to 3.14, and then add a --pythoninfo step to the buildbot.

@vstinner vstinner enabled auto-merge (squash) March 23, 2026 17:08
@hoodmane
Copy link
Contributor

The code uses info = "Node.js ".concat(process.version); in Python/sysmodule.c, so I expected "Node.js xxx", but we get "Node.js/xxx", where does "/" come from? :-)

The other branch:

$ node -e 'console.log(navigator.userAgent)'
Node.js/24

@hoodmane
Copy link
Contributor

I'll make a separate PR improving this.

@vstinner vstinner merged commit a57209e into python:main Mar 23, 2026
27 checks passed
@vstinner vstinner deleted the emscripten_pythoninfo branch March 23, 2026 17:23
@miss-islington-app
Copy link

Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14.
🐍🍒⛏🤖

@miss-islington-app
Copy link

Sorry, @vstinner, I could not cleanly backport this to 3.14 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker a57209eb98943f4d8edbf56a55e98ec112e00e39 3.14

@vstinner
Copy link
Member Author

The other branch:

Oh ok, thanks :-)

$ node -e 'console.log(navigator.userAgent)'
Node.js/24

Is there a way to get the full Node.js version? A version string like v22.22.0.

I'll make a separate PR improving this.

Improving sys._emscripten_info? Nice!

vstinner added a commit to vstinner/cpython that referenced this pull request Mar 23, 2026
…146332)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
(cherry picked from commit a57209e)
@bedevere-app
Copy link

bedevere-app bot commented Mar 23, 2026

GH-146336 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.14 bugs and security fixes label Mar 23, 2026
@vstinner
Copy link
Member Author

I merged my PR. Thanks for your fast reviews!

vstinner added a commit that referenced this pull request Mar 23, 2026
… (#146336)

gh-146197: Run -m test.pythoninfo on the Emscripten CI (#146332)


(cherry picked from commit a57209e)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request Mar 23, 2026
…8577

* 'main' of github.com:python/cpython:
  pythongh-146197: Run -m test.pythoninfo on the Emscripten CI (python#146332)
  pythongh-146325: Use `test.support.requires_fork` in test_fastpath_cache_cleared_in_forked_child (python#146330)
  pythongh-146197: Add Emscripten to CI (python#146198)
  pythongh-143387: Raise an exception instead of returning None when metadata file is missing. (python#146234)
  pythongh-108907: ctypes: Document _type_ codes (pythonGH-145837)
  pythongh-146175: Soft-deprecate outdated macros; convert internal usage (pythonGH-146178)
  pythongh-146056: Rework ref counting in treebuilder_handle_end() (python#146167)
  Add a warning about untrusted input to `configparser` docs (python#146276)
  pythongh-145264: Do not ignore excess Base64 data after the first padded quad (pythonGH-145267)
  pythongh-146308: Fix error handling issues in _remote_debugging module (python#146309)
  pythongh-146192: Add base32 support to binascii (pythonGH-146193)
  pythongh-135953: Properly obtain main thread identifier in Gecko Collector (python#146045)
  pythongh-143414: Implement unique reference tracking for JIT, optimize unpacking of such tuples (pythonGH-144300)
  pythongh-146261: Fix bug in `_Py_uop_sym_set_func_version` (pythonGH-146291)
  pythongh-145144: Add more tests for UserList, UserDict, etc (pythonGH-145145)
  pythongh-143959: Fix test_datetime if _datetime is unavailable (pythonGH-145248)
  pythongh-146245: Fix reference and buffer leaks via audit hook in socket module (pythonGH-146248)
  pythongh-140049: Colorize exception notes in `traceback.py` (python#140051)
  Update docs for pythongh-146056 (pythonGH-146213)
@vstinner
Copy link
Member Author

Here is the PR to run pythoninfo on buildbots: python/buildmaster-config#690.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants