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

wasm32-emscripten CI additions #2582

Open
1 task
davidhewitt opened this issue Aug 22, 2022 · 4 comments
Open
1 task

wasm32-emscripten CI additions #2582

davidhewitt opened this issue Aug 22, 2022 · 4 comments

Comments

@davidhewitt
Copy link
Member

davidhewitt commented Aug 22, 2022

Future additions for the emscripten CI job:


Well there's a couple more things I'm interested in:

  1. I'd like to run the tests that mix Rust and C/C++. This is quite common in real packages.
  2. I'm working on a way to have Pyodide virtual environments Add command to create Pyodide virtual environment pyodide/pyodide#2976 this will lead to rather more graceful testing.

Originally posted by @hoodmane in #2412 (comment)


@davidhewitt
Copy link
Member Author

@hoodmane given there's been some time I wonder if you can share some thoughts on how relevant you think these ideas still are, and maybe lay out what resources I should look at to make the changes you had in mind? (Or if there's other things you'd recommend the PyO3 CI start to cover?)

@davidhewitt
Copy link
Member Author

I noticed that in Python 3.12 there is a tool to build wasm in tree. I wonder if we want to use this. Tools/wasm/wasm_build.py

Also we potentially want to test pyodide, maybe as a replacement for building in-tree cpython? (Or in addition to.)

@hoodmane
Copy link
Contributor

given there's been some time I wonder if you can share some thoughts on how relevant you think these ideas still are

Well they are still relevant but the good news is that in practice it seems to work fine. My highest priority for Rust is to fix wasm-eh:
rust-lang/rust#112195
emscripten-core/emscripten#19612
Rust packages are the only things that can't build with wasm exception handling, but it seems to require fixing the try rustc intrinsic, so it won't work with current versions of rust.

Testing against Pyodide is pretty reasonable. The build settings that wasm_build.py produce are closely modeled on Pyodide's build settings so it should be similar. But IIRC the pyo3 tests want to statically link libpython into the test binaries so it would require some extra work to use Pyodide there.

@davidhewitt
Copy link
Member Author

Updated the OP to add a note for async tests after #3540 merges

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