rustworkx icon indicating copy to clipboard operation
rustworkx copied to clipboard

Add tests for Pyodide build with Pixi and Node.js

Open IvanIsCoding opened this issue 5 months ago • 1 comments

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 install to 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.

IvanIsCoding avatar May 15 '25 01:05 IvanIsCoding