Skip to content

Conversation

@fedarko
Copy link
Collaborator

@fedarko fedarko commented May 1, 2025

This fixes both the main (QIIME 2 + Python tests + JS test) and standalone (just non-Q2 Python tests) builds. It took some finagling, but this should be ready for review now -- it addresses all of the build issues, with the exception of McHelper still being down.

Some notes:

  • The main build is still failing because McHelper is not responding. Aside from that, everything else should be working.

  • This updates the supported Python versions to {3.9, 3.10, 3.11, 3.12}, to match iow 1.0.8. (Note that iow 1.0.8 does not support 3.13 yet, and trying to include it in the build matrix fails due to iow not finding numpy.)

  • This also imposes a numpy pin < 2, due to Incompatibility with numpy 2.x? improved-octo-waddle#59 (and Fix BP tree corruption due to numpy uints #563). I verified that this pin is required to make the standalone build's tests pass. (The latest Q2 versions still use numpy < 2 as far as I can tell, so this is not an issue there, but I am sure they will update eventually.)

  • Adjusted the main GitHub Actions workflow to test on a newer Q2 version (2024.10). It would be nice eventually to test on multiple Q2 versions.

  • This replaces nosetests with pytest, because nose is no longer maintained and was causing some strange errors. Pytest seems to work well as a drop-in replacement.

    • While I was at it I added pytest-cov as an additional testing dependency, so now this reports python test coverage also (which is nice). Notably, this is not sufficient for Compute test coverage and show in README #156, since it would be good to profile JS test coverage also. (Qurro has its own way of doing this, but it uses a different JS test runner.)
  • For some reason, qunit-puppeteer (the JS test runner) isn't working any more (either on my laptop or on GH Actions). Looks like node-qunit-puppeteer (a different package with a similar name) is more actively maintained and does not have this issue, so I switched the JS tests to use this other package.

fedarko added 18 commits April 30, 2025 20:32
- test main.yml on q2 2024.10 (eventually should test on a matrix
  of q2 versions like Qurro's CI does)

- test standalone.yml on new python versions (we mayyyy want to
  decide if supporting old python versions is worth it. i think it is
  ok for now at least)
maybe this will fix the weird "no module named numpy" issue i get
when installing iow?
Since iow doesn't yet support python 3.13
Will this fix qunit-puppeteer not working? we'll see
... not qunit-puppeteer. different packages! and the n-q-p one works,
whereas the q-p one for some reason doesn't any more (it just freezes)

since q-p has not been updated in ~8 years i suspect that chromium
or puppeteer or some combo thereof (idk) got updated in a way that
broke the program. node-qunit-puppeteer seems more actively maintained
at least it gave me a new error message
i think this is unnecessary and also breaking gh actions atm
@fedarko fedarko changed the title Work on fixing build and tests Fix build and tests May 1, 2025
@fedarko fedarko changed the title Fix build and tests Fix build and tests; update Python versions / dependencies May 1, 2025
fedarko added 2 commits April 30, 2025 23:00
I don't actually know if this will cause problems for this particular
build -- I think I made this change while I was frantically trying
stuff out a few hours ago.

Let's see if this is needed... can adjust accordingly either way.
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

Successfully merging this pull request may close these issues.

1 participant