88
99jobs :
1010 build-wheel :
11- name : " Build ubuntu wheels"
12- runs-on : " ubuntu-latest"
11+ name : " Build ${{ matrix.build }} wheels on ${{ matrix.os }} ${{ matrix.arch }}"
12+ runs-on : " ${{ matrix.os }}-latest"
13+ strategy :
14+ matrix :
15+ os : ["ubuntu"]
16+ arch : ["x86_64"]
17+ build : ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "pp37-*", "pp38-*", "pp39-*"]
18+ include :
19+ - arch : " aarch64"
20+ os : " ubuntu"
21+ build : " cp37-manylinux*"
22+ - arch : " aarch64"
23+ os : " ubuntu"
24+ build : " cp38-manylinux*"
25+ - arch : " aarch64"
26+ os : " ubuntu"
27+ build : " cp39-manylinux*"
28+ - arch : " aarch64"
29+ os : " ubuntu"
30+ build : " cp310-manylinux*"
31+ - arch : " aarch64"
32+ os : " ubuntu"
33+ build : " cp311-manylinux*"
1334
1435 steps :
1536 - uses : actions/checkout@v3
@@ -18,14 +39,24 @@ jobs:
1839 - uses : actions/setup-python@v4
1940 with :
2041 python-version : " 3.10"
42+ - name : Set up QEMU
43+ if : matrix.arch == 'aarch64'
44+ uses : docker/setup-qemu-action@v2
45+ with :
46+ platforms : all
2147 - run : python -m pip install -U pip
2248 - run : python -m pip install cibuildwheel
2349 - run : touch setup.py
50+ if : matrix.arch == 'aarch64'
2451 - run : python -m cibuildwheel --output-dir dist
2552 env :
26- CIBW_BUILD : cp37-*manylinux*_x86_64 cp38-*manylinux*_x86_64 cp39-*manylinux*_x86_64 cp310-*manylinux*_x86_64 cp311-*manylinux*_x86_64
27- CIBW_MANYLINUX_X86_64_IMAGE : manylinux2014
53+ CIBW_BUILD : ${{ matrix.build }}
54+ CIBW_ARCHS : ${{ matrix.arch }}
55+ CIBW_MANYLINUX_X86_64_IMAGE : " quay.io/pypa/manylinux2014_x86_64"
56+ CIBW_MANYLINUX_PYPY_X86_64_IMAGE : " quay.io/pypa/manylinux2014_x86_64"
57+ CIBW_MANYLINUX_AARCH64_IMAGE : " quay.io/pypa/manylinux_2_28_aarch64"
2858 CIBW_REPAIR_WHEEL_COMMAND : " "
59+ CIBW_ENVIRONMENT : " CMEEL_JOBS=2 CMEEL_RUN_TESTS=OFF"
2960
3061 - uses : actions/upload-artifact@v3
3162 with :
0 commit comments