Skip to content

Merge pull request #276 from pfeerick/patch-1 #142

Merge pull request #276 from pfeerick/patch-1

Merge pull request #276 from pfeerick/patch-1 #142

Workflow file for this run

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