Skip to content

Commit c4a41a3

Browse files
committed
add other engines
1 parent e38bc3b commit c4a41a3

2 files changed

Lines changed: 127 additions & 1 deletion

File tree

.github/actions/install-basic-packages/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ runs:
1111
- name: Install packages
1212
run: |
1313
sudo apt-get update
14-
sudo apt-get install -y xz-utils build-essential ninja-build cmake wget ccache
14+
sudo apt-get install -y xz-utils build-essential ninja-build cmake wget ccache pkg-config
1515
shell: bash
1616

1717

.github/workflows/build-and-test-linux.yml

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)