@@ -4,12 +4,16 @@ on: push
44
55jobs :
66 build_wheels :
7- name : Build wheels on ${{ matrix.os }}
7+ name : Build wheels on ${{matrix.arch}} for ${{ matrix.os }}
88 runs-on : ${{ matrix.os }}
99 strategy :
1010 matrix :
1111 # os: [ubuntu-18.04, windows-latest, macos-latest] # skip windows
1212 os : [ubuntu-20.04, macos-11]
13+ arch : [auto, aarch64]
14+ exclude :
15+ - os : macos-11
16+ arch : aarch64
1317
1418 steps :
1519 - uses : actions/checkout@v2
@@ -23,15 +27,23 @@ jobs:
2327 with :
2428 python-version : ' 3.7'
2529
30+ # cibuildwheel support aarch64, via emulation.
31+ # Please refer - https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation
32+ - uses : docker/setup-qemu-action@v1
33+ if : ${{ matrix.arch == 'aarch64' }}
34+ name : Set up QEMU
35+
2636 - name : Install cibuildwheel
2737 run : |
2838 python -m pip install cibuildwheel==2.1.1
2939
3040 - name : Build wheels
3141 env :
42+ CIBW_ARCHS_LINUX : ${{matrix.arch}}
3243 CIBW_SKIP : " pp* *-manylinux_i686"
3344 CIBW_BEFORE_BUILD_LINUX : " /bin/bash cibuild/linux_steps.sh"
3445 CIBW_BEFORE_BUILD_MACOS : " /bin/bash cibuild/macos_steps.sh"
46+ CIBW_BEFORE_TEST_LINUX : " /bin/bash cibuild/aarch64_extra_steps.sh"
3547 CIBW_TEST_COMMAND : " cd {project}/pyosmium && rm -rf build && pytest test"
3648 CIBW_TEST_REQUIRES : pytest shapely
3749 CIBW_TEST_SKIP : " cp310-macosx*" # missing libgeos
0 commit comments