Merge pull request #276 from pfeerick/patch-1 #142
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
# on: [push, pull_request, release] | |
on: | |
push: | |
branches: | |
release: | |
types: [created] | |
pull_request: | |
jobs: | |
sdist: | |
name: Build source distribution | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # To ensure tags are retrieved to enabe setuptools_scm to work | |
- name: Install Python 3.x | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.x | |
- name: Install setuptools | |
run: pip install setuptools | |
- name: Build sdist | |
run: python setup.py sdist | |
- name: Save sdist | |
uses: actions/upload-artifact@v3 | |
with: | |
path: dist/*.tar.gz | |
wheels: | |
name: Build wheels on ${{ matrix.os }} CIBW_BUILD=${{ matrix.cibw_build }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
cibw_build: [cp38-*, cp39-*, cp310-*, cp311-*, cp312-*] | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # To ensure tags are retrieved to enabe setuptools_scm to work | |
- name: Install Python 3.x | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.x | |
- name: Set up QEMU # Needed to build aarch64 wheels | |
if: runner.os == 'Linux' | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: all | |
- name: Build wheels | |
uses: pypa/cibuildwheel@v2.16.2 | |
env: | |
CIBW_ENVIRONMENT: PYLZ4_USE_SYSTEM_LZ4="False" | |
CIBW_ARCHS_LINUX: "x86_64 i686 aarch64" | |
CIBW_ARCHS_MACOS: "x86_64 arm64" # universal2" | |
CIBW_ARCHS_WINDOWS: "AMD64 x86" | |
CIBW_BUILD: ${{ matrix.cibw_build }} | |
CIBW_SKIP: "cp*-musllinux*" | |
CIBW_TEST_COMMAND: "tox -c {project}" | |
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64 *-*linux_{aarch64,ppc64le,s390x}" | |
CIBW_BEFORE_BUILD: "python -m pip install -U pip && python -m pip install tox" | |
- name: Save wheels | |
uses: actions/upload-artifact@v2 | |
with: | |
path: wheelhouse/*.whl | |
upload_pypi: | |
name: Upload to PyPI | |
needs: [sdist, wheels] | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: artifact | |
path: dist | |
- uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
skip_existing: true |