Nightly Node.js and Big Endian cross compilation Node.js - #1590
Merged
Conversation
sbc100
reviewed
Aug 26, 2025
| return None | ||
|
|
||
|
|
||
| def build_node_nightly(tool): |
Collaborator
There was a problem hiding this comment.
Is this actually building node from source? It looks like its just download it, so maybe this should be called "download_...tofetch_...`?
| "linux_url": "https://nodejs.org/download/release/v22.16.0/node-v22.16.0-linux-s390x.tar.gz", | ||
| "activated_path": "%installation_dir%/bin", | ||
| "activated_path_skip": "node", | ||
| "activated_cfg": "NODE_JS=['qemu-s390x', '-L', '/usr/s390x-linux-gnu/', '%installation_dir%/bin/node']", |
Collaborator
There was a problem hiding this comment.
NODE_JS_TEST can be used here if you want to only use it for running tests.
Collaborator
Author
|
I'll land this to be able to continue working on top of this. If there are still more reviews, I can do a second PR. |
Member
|
This seems to have caused regressions, see #1595 and also I just noticed this on Binaryen CI: https://github.com/WebAssembly/binaryen/actions/runs/17269266536/job/49009222269 |
Collaborator
Author
|
Yeah sorry about that - I push-landed #1594 as soon as I noticed. |
Member
|
Thanks! |
mmorel-35
pushed a commit
to mmorel-35/emsdk
that referenced
this pull request
Feb 3, 2026
…core#1590) This PR adds support for `./emsdk install node-nightly-64bit` which finds the latest nightly node.js version and installs that. It is a moving target, so the next day when a new nightly is produced, reissuing `./emsdk install node-nightly-64bit` will install the newer published version. Also, this PR adds a fixed 22.18.0 version for the cross compilation s390x Node.js target as well. On an x64 Linux system, this allows running `./emsdk install node-big-endian-crosscompile-22.16.0-64bit` to install the big endian Node.js. This greatly simplifies the steps at emscripten-core/emscripten@main...juj:emscripten:bigendian_test_suite#diff-c36b90121be240017fa490a1c00e63e47fa3235f5c1be0593e2b7502d017c778R9985-R10000 and enables a trivial way to switch between LE and BE Node.js versions for testing. CC @slavek-kucera
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds support for
./emsdk install node-nightly-64bitwhich finds the latest nightly node.js version and installs that. It is a moving target, so the next day when a new nightly is produced, reissuing
./emsdk install node-nightly-64bitwill install the newer published version.Also, this PR adds a fixed 22.18.0 version for the cross compilation s390x Node.js target as well. On an x64 Linux system, this allows running
./emsdk install node-big-endian-crosscompile-22.16.0-64bitto install the big endian Node.js. This greatly simplifies the steps at emscripten-core/emscripten@main...juj:emscripten:bigendian_test_suite#diff-c36b90121be240017fa490a1c00e63e47fa3235f5c1be0593e2b7502d017c778R9985-R10000 and enables a trivial way to switch between LE and BE Node.js versions for testing.
CC @slavek-kucera