From 1ee137959b10521f3ef9848e441626188663f082 Mon Sep 17 00:00:00 2001 From: Fabian Schramm <55981657+fabinsch@users.noreply.github.com> Date: Tue, 14 Mar 2023 08:19:55 +0100 Subject: [PATCH] ci: pip wheels for aarch64 --- .github/workflows/release-linux.yml | 39 ++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml index 3824d23da..ec3a8eccc 100644 --- a/.github/workflows/release-linux.yml +++ b/.github/workflows/release-linux.yml @@ -8,8 +8,29 @@ on: jobs: build-wheel: - name: "Build ubuntu wheels" - runs-on: "ubuntu-latest" + name: "Build ${{ matrix.build }} wheels on ${{ matrix.os }} ${{ matrix.arch }}" + runs-on: "${{ matrix.os }}-latest" + strategy: + matrix: + os: ["ubuntu"] + arch: ["x86_64"] + build: ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "pp37-*", "pp38-*", "pp39-*"] + include: + - arch: "aarch64" + os: "ubuntu" + build: "cp37-manylinux*" + - arch: "aarch64" + os: "ubuntu" + build: "cp38-manylinux*" + - arch: "aarch64" + os: "ubuntu" + build: "cp39-manylinux*" + - arch: "aarch64" + os: "ubuntu" + build: "cp310-manylinux*" + - arch: "aarch64" + os: "ubuntu" + build: "cp311-manylinux*" steps: - uses: actions/checkout@v3 @@ -18,14 +39,24 @@ jobs: - uses: actions/setup-python@v4 with: python-version: "3.10" + - name: Set up QEMU + if: matrix.arch == 'aarch64' + uses: docker/setup-qemu-action@v2 + with: + platforms: all - run: python -m pip install -U pip - run: python -m pip install cibuildwheel - run: touch setup.py + if: matrix.arch == 'aarch64' - run: python -m cibuildwheel --output-dir dist env: - CIBW_BUILD: cp37-*manylinux*_x86_64 cp38-*manylinux*_x86_64 cp39-*manylinux*_x86_64 cp310-*manylinux*_x86_64 cp311-*manylinux*_x86_64 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_BUILD: ${{ matrix.build }} + CIBW_ARCHS: ${{ matrix.arch }} + CIBW_MANYLINUX_X86_64_IMAGE: "quay.io/pypa/manylinux2014_x86_64" + CIBW_MANYLINUX_PYPY_X86_64_IMAGE: "quay.io/pypa/manylinux2014_x86_64" + CIBW_MANYLINUX_AARCH64_IMAGE: "quay.io/pypa/manylinux_2_28_aarch64" CIBW_REPAIR_WHEEL_COMMAND: "" + CIBW_ENVIRONMENT: "CMEEL_JOBS=2 CMEEL_RUN_TESTS=OFF" - uses: actions/upload-artifact@v3 with: