OpenAstronomy/azure-pipelines-templates

Build aarch64 wheels

lpsinger opened this issue · 3 comments

Wheels for aarch64 are very desirable because ARM can be more cost-effective for cloud computing (e.g. AWS Graviton EC2 instance types). PyPI, pip, manylinux, and cibuildwheel have all supported aarch64 for some time now.

By and large, free CI services are not yet providing aarch64 runners. However, cibuildwheel can automatically build wheels for non-native archs using qemu:

--archs ARCHS         Comma-separated list of CPU architectures to build
                      for. When set to 'auto', builds the architectures
                      natively supported on this machine. Set this option to
                      build an architecture via emulation, for example,
                      using binfmt_misc and QEMU. Default: auto. Choices:
                      auto, native, all, x86_64, i686, aarch64, ppc64le,
                      s390x, x86, AMD64

It should be as simple as setting CIBW_ARCHS="x86_64 aarch64".

This would be a nice addition. We would need to test it in our CI as apparently cibuildwheel doesn't test it on Azure in theirs.

Agree this would be great!

This was fixed in #67 🥳