Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Main executor for WASM #406

Closed
camio opened this issue May 25, 2022 · 2 comments
Closed

Main executor for WASM #406

camio opened this issue May 25, 2022 · 2 comments
Assignees

Comments

@camio
Copy link
Contributor

camio commented May 25, 2022

The WASM build of stlab currently lacks a main executor. This task is to create one.

Acceptance Criteria

  • stlab includes a main executor for stlab
  • Code includes unittests

Note that @sean-parent has code written to do this correctly, but it lacks unit tests.

@nickpdemarco nickpdemarco mentioned this issue Jul 29, 2022
nickpdemarco added a commit that referenced this issue Aug 3, 2022
This PR adds CI support for Webassembly. It resolves #404, #405, and part of #406.

Note: 406 still requires unit tests for the WASM `main_executor` to be considered complete. 

This introduces a CMake toolchain file, `cmake/Platform/Emscripten-STLab.cmake` which extends the Emscripten SDK's own toolchain, and enables some experimental features required by STLab tests to compile and run successfully. Those features are threading support and exception handling. 

Following our existing convention, the tests may be executed simply with `ctest` from the build directory. A node runner is used.

Note that Node 16.16.0 or newer is required for sufficient exception handling support. The new CMake toolchain will report an error if this requirement is not satisfied. To use an appropriate version, we must edit a configuration file `.emscripten` in the emsdk directory to point to the system installation of node (16.16.0 is installed for GH Actions).
@camio
Copy link
Contributor Author

camio commented Aug 10, 2022

Modifying scope to exclude unittests since none of the main executors have unit tests. Work to add them can be tracked with #485.

@camio
Copy link
Contributor Author

camio commented Aug 10, 2022

Marking as complete.

@camio camio closed this as completed Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants