rustworkx
rustworkx copied to clipboard
Add tests for Pyodide build with Pixi and Node.js
Follow up of #1447 and #1449. True diff: https://github.com/IvanIsCoding/rustworkx/compare/pixi-pyodide...IvanIsCoding:rustworkx:test-pyodide
This builds on the preview two PRs by adding a Pixi task that does the following:
- Runs
npm installto install Pyodide - Finds the wheel from Pyodide's build
- Creates a Pyodide environment inside Node.js with rustworkx
- Mounts our tests folder into Pyodide's memory with Node.js's file system
- Runs a ~smoke test~ the full test suite inside Pyodide via Node.js
This will catch regressions for Pyodide. Because Pixi has a lockfile and so does Node.js, I think it will be reproducible.
Note that Pyodide installs NumPy and more because it is one of our dependencies. We also need to install networkx. Because Pyodide has a lockfile internally (https://github.com/pyodide/pyodide-lock) that ships in the Node distribution, I think it will keep installing the same numpy/networkx/matplotlib from a fixed URL so I think overall this will be reproducible.