name: Build wheels on: push jobs: build-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Build manylinux1 x86-64 wheels uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux1_x86_64 with: python-versions: 'cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39' pip-wheel-args: '-w ./wheelhouse --no-deps' - name: Build manylinux2014 x86-64 wheels uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux2014_x86_64 with: python-versions: 'cp310-cp310' pip-wheel-args: '-w ./wheelhouse --no-deps' - name: Build manylinux 2014 aarch64 wheels uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux2014_aarch64 with: python-versions: 'cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310' pip-wheel-args: '-w ./wheelhouse --no-deps' - name: Move to dist/ run: | mkdir -p dist cp -v wheelhouse/*-manylinux*.whl dist/ - uses: actions/upload-artifact@v2 with: path: wheelhouse/*-manylinux*.whl - name: Publish package to PyPI # Only actually publish if a new tag was pushed if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@37e305e7413032d8422456179fee28fac7d25187 with: user: __token__ password: ${{ secrets.pypi_password }} build-macos: runs-on: macos-latest strategy: matrix: python-version: - '3.6' - '3.7' - '3.8' - '3.9' - '3.10' steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Build wheels run: | python -m pip install --upgrade pip wheel setuptools pip wheel . -w dist/ ls dist/ - uses: actions/upload-artifact@v2 with: path: dist/*.whl - name: Publish package to PyPI # Only actually publish if a new tag was pushed if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') # We can't use the pypa action because of https://github.com/pypa/gh-action-pypi-publish/issues/15 run: | pip install twine TWINE_USERNAME="__token__" \ TWINE_PASSWORD="${{ secrets.pypi_password }}" \ twine upload dist/*