rustworkx
rustworkx copied to clipboard
Add Pixi workflow to verify Pyodide build works
Follow up of #1447. After the parent PR is merged, the diff of this PR will be smaller. True diff: https://github.com/IvanIsCoding/rustworkx/compare/pyodide-rayon...IvanIsCoding:rustworkx:pixi-pyodide
This uses pixi to run the Pyodide build. This is still higly experimental. It is related to #1416 and #1420 in the sense that pixi is to conda what uv is to pypi.
The Github Action workflow I created does the following:
- Installs Python 3.12.7 from Conda via Pixi. Python needs to be pinned
- Installs Emscripten 3.1.58. This is also pinned. Newer versions are required to build with Python 3.13 but that is not on Conda at the moment.
- Installs Node.js
- Installs Rust 1.86. Generally we'd use nightly rust, but Conda does not offer that. So I had to use the
RUSTC_BOOTSTRAPtrick to enable nightly features on a compiler. Of course that is terrible, but the version is pinned so essentially it is like using a pinned nightly compiler - Installs a pinned version of https://github.com/pyodide/pyodide-build
- The Pyodide CLI installs the tools to build for 0.27.6, which maps to Python 3.12
- Compiles the code with Rust and Emscripten
There are no tests at the moment but as long as we build, recipes like https://github.com/pyodide/pyodide-recipes/pull/90 should catch some obvious test failures.
Pull Request Test Coverage Report for Build 18793296589
Details
- 0 of 0 changed or added relevant lines in 0 files are covered.
- No unchanged relevant lines lost coverage.
- Overall coverage remained the same at 94.186%
| Totals | |
|---|---|
| Change from base Build 18781234584: | 0.0% |
| Covered Lines: | 18272 |
| Relevant Lines: | 19400 |