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

native arm64 docker images + wheel builds for linux_aarch64 and macosx_arm64 using Cirrus CI #424

Merged
merged 205 commits into from
Feb 3, 2023

Conversation

ravnoor
Copy link
Contributor

@ravnoor ravnoor commented Jan 18, 2023

All docker images and wheels are built and test (tests/build_wheels.sh) successfully using Cirrus CI with a few exceptions (summarized in the Table below):

  • linux_aarch64: no py36 and py311 wheels . py36 fails while building scikit-image since no py36 wheels exists on PyPI, and py311 errors out while building antspyx possibly due to pybind11
  • macosx_arm64: cibuildwheel on Apple Silicon only supports py37+. py311 fails to build with the error similar to the one described above. The default deployment target is macosx_11 or higher
  • docker: both arm64 and x86_64 images are built and then unified into a single docker image
Linux aarch64 macOS Apple Silicon Docker
CPython 3.6 N/A N/A
CPython 3.7 N/A N/A
CPython 3.8 N/A
CPython 3.9 N/A
CPython 3.10
CPython 3.11 N/A

GitHub Actions can successfully build cp36 on linux_x86_64, so possibly something to do with arm64, but I haven't investigated these failures further yet.

Build artifacts and detailed logs can be found here: https://cirrus-ci.com/build/5986395915812864

UPDATE: fixed py311 support for arm64 and x86_64

ravnoor and others added 30 commits May 23, 2022 06:31
- no `cmake` for `ppc64le` available
- for multi-architecture support
- images building successfully for `amd64/arm64/ppc64le`
- dash-separated 'description-file' will not be supported in future versions
@ravnoor
Copy link
Contributor Author

ravnoor commented Jan 23, 2023

@cookpa @stnava

  • I'm done incorporating most of the functionalities as discussed. Most of it (the CI conditionals) can't be tested until after the merge since the .cirrus.yml isn't in the primary repo yet
  • Secrets placeholders need to be replaced with actual tokens as well for GitHub releases and PyPI to be tested
  • I've fixed Python 3.11 support as well (COMP: Add support for python 3.11, remove 3.6 from CI build wheels #426)

Let me know if there's anything you'd like me revert or update.

@stnava
Copy link
Member

stnava commented Feb 3, 2023

wonderful contribution ... I am merging so we can move this along ( sorry for delay - just been super busy recently - will settle down after next week ).

@stnava stnava merged commit 9c31a0d into ANTsX:master Feb 3, 2023
@ravnoor ravnoor deleted the cirrusCI branch July 21, 2023 19:07
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.

4 participants