-
Notifications
You must be signed in to change notification settings - Fork 667
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
Adding ARM arch to CI #1989
Comments
I set up a shippable ARMv8 CI build of MDAnalysis from my fork I started something similar for NumPy--more details there. |
This would be of interest for, e.g., MDAnalysis/GridDataFormats#51. |
Results are looking a little better now. The job currently times out -- MDA has some pretty heavy dependencies without official ARMv8 wheels available. SciPy is really painful at 30 minute compile time -- you can see the other times in the linked build. There are complications with PyPI and ARMv8 wheels (see our discussion with Cython team: cython/cython#2561); in practice we could just pin the versions maybe and host our own binaries for the time being; also caching the built wheels should be an option, but we need a successful build for the cache to upload to Amazon S3; maybe I disable the tests for one run to get the cache upload so we save build times moving forward for initial tests. |
Ok, we're caching the binary dependencies as much as possible for pip installs and the test suite is now running on ARMv8 as visible in the the results. In short, for Python 2.7: Expanding to include Python 3.7 (3.6 not really available for now) would require a bit more manual intervention to get all the dependencies cached in a separate folder (I did that for NumPy though, so can be done eventually...). |
I also need to hook into their results summary so our tests stats are nicely displayed in their system, but that's fairly straightforward.. just takes time! |
Note that our test suite is pretty slow on ARMv8 at > 30 minutes; we'd probably have to pin the versions of all our pip installs to prevent timeouts in the event that i.e., pip picks up a new SciPy or something and then we can't refresh the cache because we don't have enough total build time. |
I've added Python 3.7 to the test matrix and will let the cache update this evening hopefully & then we'll be in a position to test two versions on somewhat reasonable time scales. |
the nodes aren't behaving reliably at the moment so stalled for progress; looks like the caching was done, but the tests are basically hanging unpredictably, compared to running ok a few days ago. |
Fixes issue #1989, completes PR #2956 ## Work done in this PR * Switches CI to using recently released SciPy `1.5.3` with "official" Linux ARM64 wheels over the weekend, instead of the previous "special"/unreleased wheels * Add a `CHANGELOG` entry to reflect preliminary MDAnalysis support for the Linux ARM64 platform (minimal dependencies)
Closing with #2997 |
Fixes issue MDAnalysis#1989, completes PR MDAnalysis#2956 ## Work done in this PR * Switches CI to using recently released SciPy `1.5.3` with "official" Linux ARM64 wheels over the weekend, instead of the previous "special"/unreleased wheels * Add a `CHANGELOG` entry to reflect preliminary MDAnalysis support for the Linux ARM64 platform (minimal dependencies)
The recently-announced free availability of ARM nodes for open source CI may eventually be of interest to us as we continue to expand platform / architecture support.
The text was updated successfully, but these errors were encountered: