diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index daafc8c..395d2e5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -8,15 +8,19 @@ jobs: matrix: include: - arch: amd64 + manylinux_arch: x86_64 docker_image: debian:buster - arch: arm64 + manylinux_arch: aarch64 docker_image: arm64v8/debian:buster - arch: ppc64le + manylinux_arch: ppc64le docker_image: ppc64le/debian:buster - arch: s390x + manylinux_arch: s390x docker_image: s390x/debian:buster env: @@ -46,6 +50,9 @@ jobs: # sure it installs in a clean image without any hidden dependencies. run: docker run --rm -v $(pwd):/mnt:rw ${{ matrix.docker_image }} /mnt/ci/docker-deb-test + - name: Build wheels + run: sudo make python-dists-${{ matrix.manylinux_arch }} + - name: Upload build artifacts uses: actions/upload-artifact@v2 with: diff --git a/Makefile b/Makefile index f98c97d..1ddbb37 100644 --- a/Makefile +++ b/Makefile @@ -30,14 +30,17 @@ release: python-dists > sha256sums .PHONY: python-dists -python-dists: VERSION.h +python-dists: python-dists-x86_64 python-dists-aarch64 python-dists-ppc64le python-dists-s390x + +.PHONY: python-dists-% +python-dists-%: VERSION.h python setup.py sdist docker run \ --user $$(id -u):$$(id -g) \ - -v $(PWD)/dist:/dist:rw \ - quay.io/pypa/manylinux1_x86_64:latest \ + -v `pwd`/dist:/dist:rw \ + quay.io/pypa/manylinux2014_$*:latest \ bash -exc ' \ - /opt/python/cp35-cp35m/bin/pip wheel --wheel-dir /tmp /dist/*.tar.gz && \ + /opt/python/cp38-cp38/bin/pip wheel --wheel-dir /tmp /dist/*.tar.gz && \ auditwheel repair --wheel-dir /dist /tmp/*.whl --wheel-dir /dist \ ' diff --git a/requirements-dev.txt b/requirements-dev.txt index 2dac807..49f54fd 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,6 @@ pre-commit>=0.5.0 pytest -pytest-timeout +# TODO: This pin is to work around an issue where the system pytest is too old. +# We should fix this by not depending on the system pytest/python packages at +# some point. +pytest-timeout<2.0.0