Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 11 additions & 19 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,44 +5,36 @@ on: [push, pull_request]
env:
CIBW_ENVIRONMENT_PASS_LINUX: PYTEST_TIMEOUT
CIBW_TEST_COMMAND: "cd {project} && pip install --prefer-binary '.[test]' && python -m pytest -v tests"
CIBW_SKIP: "cp36-* cp37-* cp38-* pp37-* pp38-*"
CIBW_SKIP: "cp38-* pp38-*"
PYTEST_TIMEOUT: 60

jobs:
build_wheel_linux:
name: Build wheels on Linux (${{ matrix.wheel_arch }})
name: Build wheels on Linux (x86_64)
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
wheel_arch: [x86_64, i686]

steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0

- name: Build wheels (manylinux)
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_BEFORE_BUILD: "yum install -y flex bison libxml2-devel zlib-devel cairo-devel && pip install -U cmake pip setuptools wheel && python setup.py build_c_core"
CIBW_BUILD: "*-manylinux_${{ matrix.wheel_arch }}"
CIBW_BUILD: "*-manylinux_x86_64"
CIBW_ENABLE: pypy
# Skip tests for Python 3.10 onwards because SciPy does not have
# 32-bit wheels for Linux.
CIBW_TEST_SKIP: "cp310-manylinux_i686 cp311-manylinux_i686 cp312-manylinux_i686 cp313-manylinux_i686"

- name: Build wheels (musllinux)
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_BEFORE_BUILD: "apk add flex bison libxml2-dev zlib-dev cairo-dev && pip install -U cmake pip setuptools wheel && python setup.py build_c_core"
CIBW_BUILD: "*-musllinux_${{ matrix.wheel_arch }}"
CIBW_BUILD: "*-musllinux_x86_64"
CIBW_TEST_COMMAND: "cd {project} && pip install --prefer-binary '.[test-musl]' && python -m pytest -v tests"

- uses: actions/upload-artifact@v4
with:
name: wheels-linux-${{ matrix.wheel_arch }}
name: wheels-linux-x86_64
path: ./wheelhouse/*.whl

build_wheel_linux_aarch64_manylinux:
Expand All @@ -55,7 +47,7 @@ jobs:
fetch-depth: 0

- name: Build wheels (manylinux)
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_BEFORE_BUILD: "yum install -y flex bison libxml2-devel zlib-devel cairo-devel && pip install -U cmake pip setuptools wheel && python setup.py build_c_core"
CIBW_ARCHS_LINUX: aarch64
Expand All @@ -77,7 +69,7 @@ jobs:
fetch-depth: 0

- name: Build wheels (musllinux)
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_BEFORE_BUILD: "apk add flex bison libxml2-dev zlib-dev cairo-dev && pip install -U cmake pip setuptools wheel && python setup.py build_c_core"
CIBW_ARCHS_LINUX: aarch64
Expand Down Expand Up @@ -140,7 +132,7 @@ jobs:
cmake --install .

- name: Build wheels
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_ARCHS_MACOS: "${{ matrix.wheel_arch }}"
CIBW_BEFORE_BUILD: "pip install -U setuptools && python setup.py build_c_core"
Expand Down Expand Up @@ -246,7 +238,7 @@ jobs:
shell: cmd

- name: Build wheels
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_BEFORE_BUILD: "pip install -U setuptools && python setup.py build_c_core"
CIBW_BUILD: "*-${{ matrix.wheel_arch }}"
Expand Down
Loading