Skip to content

[build] Require Python 3.7 for setuptools 61 for pyproject.toml support #9

[build] Require Python 3.7 for setuptools 61 for pyproject.toml support

[build] Require Python 3.7 for setuptools 61 for pyproject.toml support #9

Workflow file for this run

name: Build Wheels
on:
push:
branches: 'master'
jobs:
Build-Wheels:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest]
archs: [auto64]
# manylinux1 is not supported anymore because it won't compile C++17 code
# manylinux_2_24, which is newer than manylinux2014, is not supported because it comes with GCC 5.3,
# which cannot compile C++17 code. Just why?
# https://github.com/pypa/manylinux/issues/1012
# manylinux_2_28 has GCC 11 :3 but it has dropped support for i686 (x86 32-bit).
# manylinux2010 runs into this problem https://github.com/pypa/cibuildwheel/issues/1001
# MacOS and Windows ignore the manylinux-image version because they are not Linux.
include:
- os: ubuntu-latest
manylinux-image: manylinux2014
archs: auto64
- os: ubuntu-latest
manylinux-image: manylinux2014
archs: auto32
- os: ubuntu-latest
manylinux-image: manylinux_2_28
archs: auto64
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Install Dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade-strategy eager --upgrade cython twine cibuildwheel build
- name: Build Tarball
# Only one out of the OS matrix needs to build the tarball.
if: matrix.manylinux-image == 'manylinux2014' && matrix.os == 'ubuntu-latest'
run: python3 -m build --sdist
- name: Build Wheels
env:
CIBW_ARCHS: ${{ matrix.archs }}
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux-image }}
run: python -m cibuildwheel --output-dir dist .
- name: Check Wheels
run: twine check dist/*