Skip to content

Commit 650f2de

Browse files
committed
[ci] Update latest version of node v24. NFC
We can now use this for testing wasm64 and esm integration.
1 parent 8ff3033 commit 650f2de

File tree

3 files changed

+32
-22
lines changed

3 files changed

+32
-22
lines changed

.circleci/config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ commands:
108108
description: "install latest version of node"
109109
steps:
110110
- install-node-version:
111-
node_version: "19.0.0"
111+
node_version: "24.1.0"
112112
install-node-canary:
113113
description: "install canary version of node"
114114
steps:
@@ -670,7 +670,7 @@ jobs:
670670
# hardcodes /root into its launcher scripts so we need to reinstall v8.
671671
- run: rm -rf $HOME/.jsvu
672672
- install-v8
673-
- install-node-canary
673+
- install-node-latest
674674
- run-tests:
675675
title: "esm_integration"
676676
test_targets: "esm_integration"
@@ -692,7 +692,7 @@ jobs:
692692
# hardcodes /root into its launcher scripts so we need to reinstall v8.
693693
- run: rm -rf $HOME/.jsvu
694694
- install-v8
695-
- install-node-canary
695+
- install-node-latest
696696
# When running wasm64 tests we need to make sure we use the testing
697697
# version of node (node canary) when running the compiler output (e.g.
698698
# in configure tests.
@@ -717,7 +717,7 @@ jobs:
717717
# hardcodes /root into its launcher scripts so we need to reinstall v8.
718718
- run: rm -rf $HOME/.jsvu
719719
- install-v8
720-
- install-node-canary
720+
- install-node-latest
721721
# When running wasm64 tests we need to make sure we use the testing
722722
# version of node (node canary) when running the compiler output (e.g.
723723
# in configure tests.

test/common.py

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,12 +1038,8 @@ def require_wasm64(self):
10381038
if self.is_browser_test():
10391039
return
10401040

1041-
nodejs = self.get_nodejs()
1042-
if nodejs:
1043-
version = shared.get_node_version(nodejs)
1044-
if version >= (24, 0, 0):
1045-
self.js_engines = [nodejs]
1046-
return
1041+
if self.try_require_node_version((24, 0, 0)):
1042+
return
10471043

10481044
if config.V8_ENGINE and config.V8_ENGINE in self.js_engines:
10491045
self.emcc_args.append('-sENVIRONMENT=shell')
@@ -1055,16 +1051,33 @@ def require_wasm64(self):
10551051
else:
10561052
self.fail('either d8 or node >= 24 required to run wasm64 tests. Use EMTEST_SKIP_WASM64 to skip')
10571053

1054+
def try_require_node_version(self, required_version):
1055+
nodejs = self.get_nodejs()
1056+
if not nodejs:
1057+
self.skipTest('Test requires nodejs to run')
1058+
version = shared.get_node_version(nodejs)
1059+
if version < required_version:
1060+
return False
1061+
1062+
self.js_engines = [nodejs]
1063+
return True
1064+
1065+
def require_node_version(self, required_version, name):
1066+
if self.is_browser_test():
1067+
return
1068+
1069+
if not self.try_require_node_version(required_version):
1070+
if f'EMTEST_SKIP_{name}' in os.environ:
1071+
self.skipTest(f'test requires node {required_version} and EMTEST_SKIP_{name} is set')
1072+
else:
1073+
self.fail(f'node canary required to run this test. Use EMTEST_SKIP_{name} to skip')
1074+
10581075
def require_simd(self):
10591076
if self.is_browser_test():
10601077
return
10611078

1062-
nodejs = self.get_nodejs()
1063-
if nodejs:
1064-
version = shared.get_node_version(nodejs)
1065-
if version >= (16, 0, 0):
1066-
self.js_engines = [nodejs]
1067-
return
1079+
if self.try_require_node_version((16, 0, 0)):
1080+
return
10681081

10691082
if config.V8_ENGINE and config.V8_ENGINE in self.js_engines:
10701083
self.emcc_args.append('-sENVIRONMENT=shell')
@@ -1079,11 +1092,8 @@ def require_simd(self):
10791092
def require_wasm_legacy_eh(self):
10801093
self.set_setting('WASM_LEGACY_EXCEPTIONS')
10811094
nodejs = self.get_nodejs()
1082-
if nodejs:
1083-
version = shared.get_node_version(nodejs)
1084-
if version >= (17, 0, 0):
1085-
self.js_engines = [nodejs]
1086-
return
1095+
if self.try_require_node_version((17, 0, 0)):
1096+
return
10871097

10881098
if config.V8_ENGINE and config.V8_ENGINE in self.js_engines:
10891099
self.emcc_args.append('-sENVIRONMENT=shell')

test/test_core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ def should_use_closure(self):
409409
return all(f not in self.emcc_args for f in prohibited) and any(f in self.emcc_args for f in required)
410410

411411
def setup_esm_integration(self):
412-
self.require_node_canary()
412+
self.require_node_version((24, 0, 0), 'NODE24')
413413
self.node_args += ['--experimental-wasm-modules', '--no-warnings']
414414
self.set_setting('WASM_ESM_INTEGRATION')
415415
self.emcc_args += ['-Wno-experimental']

0 commit comments

Comments
 (0)