From 3a779aa4f5148b4955da2f3b6650368689575b54 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 31 Aug 2023 08:32:29 -0400 Subject: [PATCH] ci: fix wheel build for 3.12 Signed-off-by: Henry Schreiner --- .github/workflows/wheels.yml | 2 -- README.md | 18 +++++++++--------- pyproject.toml | 10 ++++++++-- setup.cfg | 3 ++- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 7ab564c2..ac103d59 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -115,8 +115,6 @@ jobs: - uses: pypa/cibuildwheel@v2.15 env: CIBW_BUILD: ${{ matrix.build }} - CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.CIBW_MANYLINUX_I686_IMAGE }} - CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.CIBW_MANYLINUX_X86_64_IMAGE }} CIBW_ARCHS: ${{ matrix.arch }} - name: Verify clean directory diff --git a/README.md b/README.md index c60cf504..8e05426f 100644 --- a/README.md +++ b/README.md @@ -191,15 +191,15 @@ when you run the above command on a supported platform. Wheels are produced usin [cibuildwheel](https://cibuildwheel.readthedocs.io/en/stable/); all common platforms have wheels provided in boost-histogram: -| System | Arch | Python versions | PyPy versions | -| ---------------- | ----------- | ------------------------- | ------------- | -| ManyLinux2014 | 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11 | 3.7, 3.8, 3.9 | -| ManyLinux2014 | ARM64 | 3.7, 3.8, 3.9, 3.10, 3.11 | 3.7, 3.8, 3.9 | -| MuslLinux_1_1 | 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11 | | -| macOS 10.9+ | 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11 | 3.7, 3.8, 3.9 | -| macOS Universal2 | Arm64 | 3.8, 3.9, 3.10, 3.11 | | -| Windows | 32 & 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11 | | -| Windows | 64-bit | | 3.7, 3.8, 3.9 | +| System | Arch | Python versions | PyPy versions | +| ---------------- | ----------- | ------------------------------- | ------------- | +| ManyLinux2014 | 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 | +| ManyLinux2014 | ARM64 | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 | +| MuslLinux_1_1 | 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | | +| macOS 10.9+ | 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 | +| macOS Universal2 | Arm64 | 3.8, 3.9, 3.10, 3.11, 3.12 | | +| Windows | 32 & 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | | +| Windows | 64-bit | | 3.7, 3.8, 3.9, 3.10 | - manylinux2014: Requires pip 19.3. - ARM on Linux is supported. PowerPC or IBM-Z available on request. diff --git a/pyproject.toml b/pyproject.toml index 6163d1d9..3d489f48 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -85,9 +85,15 @@ ignore = [ [tool.cibuildwheel] test-extras = "test" test-command = "pytest --benchmark-disable {project}/tests" -test-skip = ["pp*", "*universal2:arm64", "*musllinux*"] -skip = ["pp*-manylinux_i686"] # not supported by NumPy +test-skip = [ + "pp*", # requires correct version to get binary + "*universal2:arm64", + "*musllinux*", + "cp312-win_amd64", # NumPy segfaults +] +skip = ["pp*-manylinux_i686", "cp312-win32"] # not supported by NumPy environment-pass = ["SETUPTOOLS_SCM_PRETEND_VERSION"] +environment = { PIP_ONLY_BINARY = "numpy" } [tool.pylint] main.py-version = "3.7" diff --git a/setup.cfg b/setup.cfg index 1acbeea8..c79820b8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -57,7 +57,8 @@ packages = boost_histogram._internal boost_histogram.axis install_requires = - numpy + numpy; python_version<'3.12' + numpy>=1.26.0b1; python_version>='3.12' typing-extensions;python_version<'3.8' python_requires = >=3.7 include_package_data = True