@@ -388,6 +388,132 @@ jobs:
388388 run : ./test/runner wasm2js1
389389 shell : bash
390390
391+ test-other-engines :
392+ runs-on : ubuntu-latest
393+ steps :
394+ - name : Checkout repo
395+ uses : actions/checkout@v6.0.2
396+
397+ - name : Install Basic Packages
398+ uses : ./.github/actions/install-basic-packages
399+
400+ - name : Install Emsdk
401+ uses : emscripten-core/setup-emsdk@v16
402+ with :
403+ version : tot
404+
405+ - name : Set EM_CONFIG
406+ run : echo "EM_CONFIG=$EMSDK/.emscripten" >> $GITHUB_ENV
407+ shell : bash
408+
409+ - name : Pip install
410+ run : python -m pip install -r requirements-dev.txt
411+ shell : bash
412+
413+ - name : Bootstrap
414+ run : ./bootstrap
415+ shell : bash
416+
417+ - name : Install Bun
418+ run : |
419+ curl -fsSL https://bun.com/install | bash
420+ shell : bash
421+
422+ - name : Run Bun tests
423+ run : |
424+ echo "BUN = os.path.expanduser('~/.bun/bin/bun')" >> $EMSDK/.emscripten
425+ echo "JS_ENGINES = [BUN]" >> $EMSDK/.emscripten
426+ ./test/runner --crossplatform-only
427+ shell : bash
428+ env :
429+ EMTEST_SKIP_NEW_CMAKE : " 1"
430+
431+ - name : Install Deno
432+ run : |
433+ curl -fsSL https://deno.land/install.sh | sh
434+ shell : bash
435+
436+ - name : Run Deno tests
437+ run : |
438+ echo "DENO = os.path.expanduser('~/.deno/bin/deno')" >> $EMSDK/.emscripten
439+ echo "JS_ENGINES = [DENO]" >> $EMSDK/.emscripten
440+ ./test/runner --crossplatform-only
441+ shell : bash
442+ env :
443+ EMTEST_SKIP_NEW_CMAKE : " 1"
444+
445+ - name : Install jsvu
446+ run : npm install jsvu -g
447+ shell : bash
448+
449+ - name : Install JSC
450+ run : |
451+ jsvu --os=default --engines=javascriptcore
452+ shell : bash
453+
454+ - name : Run JSC tests
455+ run : |
456+ echo "JSC_ENGINE = [os.path.expanduser('~/.jsvu/bin/javascriptcore')]" >> $EMSDK/.emscripten
457+ echo "JS_ENGINES = [JSC_ENGINE]" >> $EMSDK/.emscripten
458+ ./test/runner core0.test_hello_argc other.test_modularize_incoming other.test_modularize_incoming_export_name
459+ shell : bash
460+
461+ - name : Install SpiderMonkey
462+ run : |
463+ jsvu --os=default --engines=spidermonkey
464+ shell : bash
465+
466+ - name : Run SpiderMonkey tests
467+ run : |
468+ echo "SPIDERMONKEY_ENGINE = [os.path.expanduser('~/.jsvu/bin/spidermonkey')]" >> $EMSDK/.emscripten
469+ echo "JS_ENGINES = [SPIDERMONKEY_ENGINE]" >> $EMSDK/.emscripten
470+ ./test/runner other.test_prepost_jspi other.test_stdint_limits_wasm64 core0.test_hello_argc core2.test_demangle_stacks_symbol_map
471+ shell : bash
472+
473+ # Node compat tests
474+ - name : Test Node Oldest (18.3.0)
475+ uses : actions/setup-node@v6.3.0
476+ with :
477+ node-version : ' 18.3.0'
478+
479+ - name : Run tests with Node Oldest
480+ run : |
481+ echo "NODE_JS = '$(which node)'" >> $EMSDK/.emscripten
482+ echo "NODE_JS_TEST = ['$(which node)']" >> $EMSDK/.emscripten
483+ ./test/runner other.test_embind_tsgen_remove_relaxed_simd other.test_gen_struct_info other.test_native_call_before_init other.test_js_optimizer_verbose other.test_file_packager_separate_metadata other.test_full_js_library* core2.test_hello_world core2.test_fcntl_open_nodefs core2.test_fcntl_open_rawfs core2.test_fgetc_ungetc_nodefs core2.test_fgetc_ungetc_rawfs core2.test_fs_append_rawfs core2.test_fs_emptyPath_rawfs core2.test_fs_enotdir_nodefs core2.test_fs_enotdir_rawfs core2.test_fs_errorstack_rawfs core2.test_fs_llseek_rawfs core2.test_fs_mkdir_dotdot_nodefs core2.test_fs_mkdir_dotdot_rawfs core2.test_fs_mmap_nodefs core2.test_fs_mmap_rawfs core2.test_fs_nodefs_cloexec core2.test_fs_nodefs_cloexec_rawfs core2.test_fs_nodefs_dup core2.test_fs_nodefs_dup_rawfs core2.test_fs_nodefs_home core2.test_fs_nodefs_nofollow core2.test_fs_nodefs_readdir core2.test_fs_noderawfs_nofollow core2.test_fs_readdir_ino_matches_stat_ino_nodefs core2.test_fs_readdir_ino_matches_stat_ino_rawfs core2.test_fs_readv_rawfs core2.test_fs_rename_on_existing_nodefs core2.test_fs_rename_on_existing_rawfs core2.test_fs_symlink_resolution_nodefs core2.test_fs_symlink_resolution_rawfs core2.test_fs_writeFile* core2.test_fs_write_rawfs core2.test_fs_writev_rawfs core2.test_futimens_rawfs core2.test_readdir_rawfs core2.test_stat_chmod_rawfs core2.test_unistd_access_nodefs core2.test_unistd_access_rawfs core2.test_unistd_close_rawfs core2.test_unistd_dup_rawfs core2.test_unistd_io_nodefs core2.test_unistd_links_nodefs core2.test_unistd_misc_nodefs core2.test_unistd_pipe_rawfs core2.test_unistd_symlink_on_nodefs core2.test_unistd_truncate_nodefs core2.test_unistd_truncate_rawfs core2.test_unistd_unlink_nodefs core2.test_unistd_unlink_rawfs core2.test_unistd_write_broken_link_rawfs
484+ shell : bash
485+ env :
486+ EMTEST_SKIP_V8 : " 1"
487+
488+ - name : Test Node LTS (22.21.0)
489+ uses : actions/setup-node@v6.3.0
490+ with :
491+ node_version : ' 22.21.0'
492+
493+ - name : Run tests with Node LTS
494+ run : |
495+ echo "NODE_JS = '$(which node)'" >> $EMSDK/.emscripten
496+ echo "NODE_JS_TEST = ['$(which node)']" >> $EMSDK/.emscripten
497+ ./test/runner -v other.test_gen_struct_info other.test_native_call_before_init other.test_js_optimizer_verbose other.test_min_node_version other.test_node_emscripten_num_logical_cores other.test_exceptions_stack_trace* other.test_exceptions_rethrow_stack_trace* core2.test_pthread_create core2.test_i64_invoke_bigint core2.test_sse2 core2.test_source_map core2.test_exceptions_wasm_legacy core2.test_pthread_unhandledrejection
498+ shell : bash
499+ env :
500+ EMTEST_SKIP_V8 : " 1"
501+
502+ - name : Test Node Newest (25.4.0)
503+ uses : actions/setup-node@v6.3.0
504+ with :
505+ node_version : ' 25.4.0'
506+
507+ - name : Run tests with Node Newest
508+ run : |
509+ echo "NODE_JS = '$(which node)'" >> $EMSDK/.emscripten
510+ echo "NODE_JS_TEST = ['$(which node)']" >> $EMSDK/.emscripten
511+ ./test/runner -v other.test_deterministic other.test_gen_struct_info other.test_native_call_before_init other.test_*growable_arraybuffers other.test_add_js_function_bigint_memory64 other.test_js_optimizer_verbose other.test_min_node_version other.test_node_emscripten_num_logical_cores other.test_js_base64_api core2.test_hello_world core2.test_pthread_create core2.test_i64_invoke_bigint core2.test_sse2 core2.test_source_map core2.test_exceptions_wasm_legacy core2.test_pthread_unhandledrejection core2.test_esm_integration* core0.test_esm_integration* core0.test_pthread_join_and_asyncify core0.test_async_ccall_promise_jspi* core0.test_cubescript_jspi core0.test_poll_blocking_asyncify_jspi
512+ shell : bash
513+ env :
514+ EMTEST_SKIP_V8 : " 1"
515+
516+
391517 test-browser-chrome :
392518 needs : build-linux
393519 runs-on : emscripten-premerge-linux-runners
0 commit comments