From bde6d6ee1be69f64bbb6074c9e01535f8d24ad9e Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Tue, 28 May 2024 11:42:18 -0700 Subject: [PATCH] Bump min node version to 18.20.3 See https://github.com/emscripten-core/emsdk/pull/1387 See https://github.com/emscripten-core/emsdk/issues/1173 --- .circleci/config.yml | 10 +++++----- requirements-dev.txt | 1 + .../source/docs/tools_reference/settings_reference.rst | 7 ++++--- src/parseTools.mjs | 4 ++-- src/settings.js | 7 ++++--- test/other/metadce/test_metadce_hello_O0.gzsize | 2 +- test/other/metadce/test_metadce_hello_O0.jssize | 2 +- test/other/metadce/test_metadce_minimal_O0.gzsize | 2 +- test/other/metadce/test_metadce_minimal_O0.jssize | 2 +- test/other/test_unoptimized_code_size.js.size | 2 +- test/other/test_unoptimized_code_size_strict.js.size | 2 +- tools/shared.py | 2 +- 12 files changed, 23 insertions(+), 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0f567d42ae0a2..94df4f91c9e34 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,13 +6,13 @@ orbs: executors: linux-node: docker: - - image: circleci/node:stretch + - image: cimg/node:18.20.3 linux-python: docker: - image: cimg/python:3.10.7 bionic: docker: - - image: emscripten/emscripten-ci + - image: emscripten/emscripten-ci:focal environment: LANG: "C.UTF-8" EMCC_CORES: "4" @@ -41,7 +41,7 @@ commands: name: download chrome command: | # TODO: Make these part of the base image - apt-get install libu2f-udev libvulkan1 + apt-get install -q -y libu2f-udev libvulkan1 xdg-utils # wget -O ~/chrome.deb https://dl.google.com/linux/direct/google-chrome-beta_current_amd64.deb # If that download link breaks, temporarily use this URL instead: # wget -O ~/chrome.deb https://storage.googleapis.com/webassembly/chrome/google-chrome-stable_current_amd64.deb @@ -170,7 +170,7 @@ commands: command: | ./emcc --clear-cache - pip-install - - run: apt-get install ninja-build + - run: apt-get install -q -y ninja-build - run: name: embuilder build ALL command: | @@ -791,7 +791,7 @@ jobs: environment: EMTEST_SKIP_NODE_CANARY: "1" steps: - - run: apt-get install ninja-build scons + - run: apt-get install -q -y ninja-build scons - run-tests-linux: # some native-dependent tests fail because of the lack of native # headers on emsdk-bundled clang diff --git a/requirements-dev.txt b/requirements-dev.txt index 2990b59cd405c..267dee10ff076 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -25,6 +25,7 @@ sphinxcontrib-htmlhelp<=2.0.0 sphinxcontrib-serializinghtml<=1.1.5 sphinxcontrib-qthelp<=1.0.3 alabaster<=0.7.12 +pygments==2.17.2 # See https://github.com/readthedocs/readthedocs.org/issues/9038 jinja2<3.1 diff --git a/site/source/docs/tools_reference/settings_reference.rst b/site/source/docs/tools_reference/settings_reference.rst index 585ce6cdce562..2937143a775e1 100644 --- a/site/source/docs/tools_reference/settings_reference.rst +++ b/site/source/docs/tools_reference/settings_reference.rst @@ -2933,11 +2933,12 @@ MIN_NODE_VERSION Specifies minimum node version to target for the generated code. This is distinct from the minimum version required run the emscripten compiler. -This version aligns with the current Ubuuntu TLS 20.04 (Focal). -Version is encoded in MMmmVV, e.g. 181401 denotes Node 18.14.01. +This version aligns with the current Node LTS release, and the version +of node that is included with emsdk. +Version is encoded in MMmmVV, e.g. 181401 denotes Node 18.14.1. Minimum supported value is 101900, which was released 2020-02-05. -Default value: 160000 +Default value: 182003 .. _support_errno: diff --git a/src/parseTools.mjs b/src/parseTools.mjs index a22dd55a350ab..1026d02a4b971 100644 --- a/src/parseTools.mjs +++ b/src/parseTools.mjs @@ -1059,8 +1059,8 @@ function getEntryFunction() { } function formattedMinNodeVersion() { - var major = MIN_NODE_VERSION / 10000; - var minor = (MIN_NODE_VERSION / 100) % 100; + var major = (MIN_NODE_VERSION / 10000) | 0; + var minor = ((MIN_NODE_VERSION / 100) | 0) % 100; var rev = MIN_NODE_VERSION % 100; return `v${major}.${minor}.${rev}`; } diff --git a/src/settings.js b/src/settings.js index c382fca69c919..256c9cbfb4df4 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1905,10 +1905,11 @@ var MIN_CHROME_VERSION = 85; // Specifies minimum node version to target for the generated code. This is // distinct from the minimum version required run the emscripten compiler. -// This version aligns with the current Ubuuntu TLS 20.04 (Focal). -// Version is encoded in MMmmVV, e.g. 181401 denotes Node 18.14.01. +// This version aligns with the current Node LTS release, and the version +// of node that is included with emsdk. +// Version is encoded in MMmmVV, e.g. 181401 denotes Node 18.14.1. // Minimum supported value is 101900, which was released 2020-02-05. -var MIN_NODE_VERSION = 160000; +var MIN_NODE_VERSION = 182003; // Whether we support setting errno from JS library code. // In MINIMAL_RUNTIME builds, this option defaults to 0. diff --git a/test/other/metadce/test_metadce_hello_O0.gzsize b/test/other/metadce/test_metadce_hello_O0.gzsize index 65323cac6caa3..66874b10ddb9b 100644 --- a/test/other/metadce/test_metadce_hello_O0.gzsize +++ b/test/other/metadce/test_metadce_hello_O0.gzsize @@ -1 +1 @@ -8137 +8140 diff --git a/test/other/metadce/test_metadce_hello_O0.jssize b/test/other/metadce/test_metadce_hello_O0.jssize index c7aa13c96919f..2b5dc2650eae5 100644 --- a/test/other/metadce/test_metadce_hello_O0.jssize +++ b/test/other/metadce/test_metadce_hello_O0.jssize @@ -1 +1 @@ -22013 +22014 diff --git a/test/other/metadce/test_metadce_minimal_O0.gzsize b/test/other/metadce/test_metadce_minimal_O0.gzsize index 1d5f5f6f95449..6e382e26ac11b 100644 --- a/test/other/metadce/test_metadce_minimal_O0.gzsize +++ b/test/other/metadce/test_metadce_minimal_O0.gzsize @@ -1 +1 @@ -6721 +6725 diff --git a/test/other/metadce/test_metadce_minimal_O0.jssize b/test/other/metadce/test_metadce_minimal_O0.jssize index 6be92a82ed88f..be4147bfde0f0 100644 --- a/test/other/metadce/test_metadce_minimal_O0.jssize +++ b/test/other/metadce/test_metadce_minimal_O0.jssize @@ -1 +1 @@ -18121 +18122 diff --git a/test/other/test_unoptimized_code_size.js.size b/test/other/test_unoptimized_code_size.js.size index d004c80d94acc..412ee091bc615 100644 --- a/test/other/test_unoptimized_code_size.js.size +++ b/test/other/test_unoptimized_code_size.js.size @@ -1 +1 @@ -55520 +55521 diff --git a/test/other/test_unoptimized_code_size_strict.js.size b/test/other/test_unoptimized_code_size_strict.js.size index b835a18890585..6cd6bff413f69 100644 --- a/test/other/test_unoptimized_code_size_strict.js.size +++ b/test/other/test_unoptimized_code_size_strict.js.size @@ -1 +1 @@ -54383 +54384 diff --git a/tools/shared.py b/tools/shared.py index 9eee4a374b8fd..9f8f834247ae7 100644 --- a/tools/shared.py +++ b/tools/shared.py @@ -58,7 +58,7 @@ # (settings.MIN_NODE_VERSION). # This version currently matches the node version that we ship with emsdk # which means that we can say for sure that this version is well supported. -MINIMUM_NODE_VERSION = (16, 20, 0) +MINIMUM_NODE_VERSION = (18, 20, 3) EXPECTED_LLVM_VERSION = 19 # These get set by setup_temp_dirs