diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 87cd7b4e..388fd989 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -58,3 +58,50 @@ jobs: with: name: wheels path: ./wheelhouse + + build_aarch64_wheels: + name: Build wheel on aarch64 + runs-on: ubuntu-18.04 + strategy: + matrix: + python_tag: [ "cp35-*", "cp36-*", "cp37-*", "cp38-*", "cp39-*"] + env: + CIBW_ARCHS_LINUX: aarch64 + CIBW_BUILD: ${{matrix.python_tag}} + CIBW_BEFORE_ALL: "yum -y update && yum install -y blas-devel lapack-devel suitesparse-devel" + CIBW_TEST_REQUIRES: "pytest cvxopt" + CIBW_TEST_COMMAND: "pytest -s {project}/module/tests -k \"not codegen and not mkl\" " + + steps: + - uses: actions/checkout@master + with: + submodules: 'recursive' + + - uses: actions/setup-python@v1 + name: Install Python 3.9 + with: + python-version: "3.9" + + - name: Install cibuildwheel + run: | + python -m pip install cibuildwheel==1.10.0 + + - uses: docker/setup-qemu-action@v1 + name: Set up QEMU + + - name: Build wheels + run: | + python -m cibuildwheel --output-dir wheelhouse + - name: Release to pypi + if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.pypi_password }} + run: | + python -m pip install --upgrade twine + twine upload wheelhouse/* + - name: Upload artifacts to github + uses: actions/upload-artifact@v1 + with: + name: wheels + path: ./wheelhouse