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

Fix contourpy install for 32bit azure runner and pin GSD #4171

Merged
merged 10 commits into from Jun 17, 2023
Merged

Conversation

IAlibay
Copy link
Member

@IAlibay IAlibay commented Jun 16, 2023

1.1.0 of contourpy was released 3 days ago and it's making the 32 bit runner fail (they switched over to meson builds, so no more x86).

We're really pushing it in terms of how many bandaids we can put on to test 32bit support.... @MDAnalysis/coredevs we need to start discussing if we want to drop 32bit ahead of the 3.0 release.

Changes made in this Pull Request:

  • Hacky fix for contourpy insttall for x86
  • Max pin GSD at <3.0 - issues with pytest-cov and pytest-xdist which may not get resolved upstream

PR Checklist

  • Tests?

📚 Documentation preview 📚: https://mdanalysis--4171.org.readthedocs.build/en/4171/

@github-actions
Copy link

github-actions bot commented Jun 16, 2023

Linter Bot Results:

Hi @IAlibay! Thanks for making this PR. We linted your code and found the following:

There are currently no issues detected! 🎉

@codecov
Copy link

codecov bot commented Jun 16, 2023

Codecov Report

Patch coverage has no change and project coverage change: +8.02 🎉

Comparison is base (2d654ae) 85.57% compared to head (6861a3b) 93.60%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4171      +/-   ##
===========================================
+ Coverage    85.57%   93.60%   +8.02%     
===========================================
  Files          179      193      +14     
  Lines        24027    25147    +1120     
  Branches      3468     4056     +588     
===========================================
+ Hits         20562    23539    +2977     
+ Misses        2989     1092    -1897     
- Partials       476      516      +40     

see 63 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@orbeckst
Copy link
Member

Do we know how much 32 bit is actually being used?

What is the position of numpy/scipy on 32 bit support, @tylerjereddy ?

Ending support for 32 bit for 3.0 sounds sensible. I think one thing we should discuss at our next meeting is a tentative roadmap.

@orbeckst
Copy link
Member

Also, where do we use contourpy? Is that a secondary dependency?

@IAlibay
Copy link
Member Author

IAlibay commented Jun 16, 2023

Also, where do we use contourpy? Is that a secondary dependency?

It's a dependency for matplotlib.

@IAlibay
Copy link
Member Author

IAlibay commented Jun 16, 2023

🤦🏽 of course.. of course GSD releases a new version when I'm trying to debug something else

@tylerjereddy
Copy link
Member

SciPy has stopped providing 32-bit Windows wheels on PyPI (we also switched to meson, facing the limitation Irfan alludes to above). We do still have other routes to get 32-bit Win binaries I think because of https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy and maybe conda (which has a second release manager), but my overall impression is that 32-bit on both Linux and Windows is getting pretty heavily de-prioritized apart from maybe a CI job for the Linux one (and some desire to have 32-bit Windows CI job, but I don't think we can do it yet...).

There's some discussion here:
scipy/scipy#15836
scipy/scipy#16286

So, current SciPy stable releases have neither Windows nor Linux 32-bit binaries. Current NumPy stable release has no 32-bit binaries for Linux, but does have 32-bit binaries for Windows because they haven't swapped to meson 100 % yet (it is planned for a point release after the current stable release in a few weeks). I think NumPy couldn't switch to meson as fast as SciPy because they have tons of SIMD stuff, special OpenBLAS 64-bit integer requirements, and some other stuff requiring upstream meson improvements.

Anyway, I guess that's a long way of saying that it seems like support has decreased for 32-bit binaries, though we do still at least try to test in CI when it is possible, but the priority overall seems to have dropped a bit I'd say (I think Debian and/or other Linux distros dropping official 32-bit support also forced NumPy's hand a bit on Linux, which then forced our hand too I think..).

@hmacdope
Copy link
Member

Might just be time to banish 32 but ASAP.

@IAlibay IAlibay changed the title Fix contourpy install for 32bit azure runner Fix contourpy install for 32bit azure runner and pin GSD Jun 17, 2023
@IAlibay
Copy link
Member Author

IAlibay commented Jun 17, 2023

@MDAnalysis/coredevs this is good to go - it'll unblock CI for now.

@hmacdope hmacdope merged commit efc51af into develop Jun 17, 2023
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants