Skip to content

Commit 2121e36

Browse files
authored
ci: add πthon wheels for nightlies (#1018)
* ci: add πthon wheels for nightlies Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * ci: remove ios bit that got in Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> --------- Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
1 parent 3ee48b8 commit 2121e36

File tree

5 files changed

+29
-24
lines changed

5 files changed

+29
-24
lines changed

.github/workflows/emscripten.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ concurrency:
1717
jobs:
1818
build-pyodide:
1919
name: Pyodide cibuildwheel
20-
runs-on: ubuntu-22.04
20+
runs-on: ubuntu-latest
2121
steps:
2222
- uses: actions/checkout@v4
2323
with:
2424
submodules: true
2525
fetch-depth: 0
2626

27-
- uses: pypa/cibuildwheel@v2.23
27+
- uses: pypa/cibuildwheel@v3.0.0b5
2828
env:
2929
CIBW_PLATFORM: pyodide
3030

.github/workflows/tests.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,9 @@ jobs:
128128

129129
- uses: astral-sh/setup-uv@v6
130130

131-
- uses: pypa/cibuildwheel@v2.23
131+
- uses: pypa/cibuildwheel@v3.0.0b5
132132
with:
133133
only: "${{ matrix.only }}"
134-
env:
135-
CIBW_BUILD_VERBOSITY: 1
136134

137135
- uses: actions/upload-artifact@v4
138136
with:

.github/workflows/wheels.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ jobs:
5555
arch: auto64
5656
build: "*"
5757

58-
- os: windows-2019
58+
- os: windows-latest
5959
arch: auto64
6060
build: "cp*"
6161

62-
- os: windows-2019
62+
- os: windows-latest
6363
arch: auto64
64-
build: "pp*"
64+
build: "{p,g}p*"
6565

66-
- os: windows-2019
66+
- os: windows-latest
6767
arch: auto32
6868
build: "*"
6969

@@ -95,7 +95,7 @@ jobs:
9595

9696
- uses: astral-sh/setup-uv@v6
9797

98-
- uses: pypa/cibuildwheel@v2.23
98+
- uses: mhsmith/cibuildwheel@android
9999
env:
100100
CIBW_BUILD: ${{ matrix.build }}
101101
CIBW_ARCHS: ${{ matrix.arch }}

pyproject.toml

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["scikit-build-core>=0.11", "pybind11>=2.13.3"]
2+
requires = ["scikit-build-core>=0.11", "pybind11==3.0.0rc2"]
33
build-backend = "scikit_build_core.build"
44

55
[project]
@@ -37,6 +37,7 @@ classifiers = [
3737
"Programming Language :: Python :: 3.11",
3838
"Programming Language :: Python :: 3.12",
3939
"Programming Language :: Python :: 3.13",
40+
"Programming Language :: Python :: 3.14",
4041
"Programming Language :: Python :: Implementation :: CPython",
4142
"Programming Language :: Python :: Implementation :: PyPy",
4243
"Programming Language :: Python",
@@ -120,6 +121,7 @@ sdist.exclude = [
120121
"extern/pybind11/tests/**",
121122
"extern/*/README.md",
122123
]
124+
logging.level = "INFO"
123125

124126
[[tool.scikit-build.generate]]
125127
path = "boost_histogram/version.py"
@@ -173,23 +175,22 @@ ignore_missing_imports = true
173175
[tool.cibuildwheel]
174176
build-frontend = "build[uv]"
175177
test-groups = ["test"]
176-
test-command = "pytest -n auto --benchmark-disable {project}/tests"
177-
skip = [
178-
"pp38-*",
179-
]
178+
test-command = "python -m pytest -n auto --benchmark-disable {project}/tests"
180179
test-skip = [
181-
"cp*-musllinux_*", # Segfaults
182-
"cp313t-win*",
183-
"pp311-*", # no numpy wheels
184-
"cp*-win_arm64", # no numpy wheels
180+
"cp3{9,10}-win_arm64",
181+
"cp3{9,10}-musllinux_*",
182+
"pp310-manylinux_aarch64",
183+
"pp310-macosx_arm64",
184+
"cp31*-musllinux_*", # Threading test crashes
185185
]
186-
enable = ["cpython-freethreading", "pypy"]
186+
enable = ["cpython-freethreading", "pypy", "cpython-prerelease"]
187187
environment-pass = ["SETUPTOOLS_SCM_PRETEND_VERSION"]
188188
environment.PIP_ONLY_BINARY = "numpy"
189189
environment.PIP_PREFER_BINARY = "1"
190+
environment.UV_ONLY_BINARY = "numpy"
191+
environment.UV_PREFER_BINARY = "1"
190192

191-
[[tool.cibuildwheel.overrides]]
192-
select = "*pyodide*"
193+
[tool.cibuildwheel.pyodide]
193194
build-frontend = {name = "build", args = ["--exports", "whole_archive"]}
194195
test-command = "pytest --benchmark-disable {project}/tests"
195196

@@ -198,6 +199,12 @@ select = "pp310-macosx_arm64"
198199
inherit.environment = "append"
199200
environment.MACOSX_DEPLOYMENT_TARGET = "14.0"
200201

202+
[[tool.cibuildwheel.overrides]]
203+
select = ["cp314*", "pp311*", "cp*-musllinux_*", "cp31*-win_arm64"]
204+
inherit.environment = "append"
205+
environment.UV_EXTRA_INDEX_URL = "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/"
206+
environment.UV_INDEX_STRATEGY = "unsafe-best-match"
207+
environment.UV_PRERELEASE = "allow"
201208

202209
[tool.pylint]
203210
py-version = "3.9"

tests/test_pickle.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import copy
44
import ctypes
55
import math
6-
import platform
6+
import sys
77
from pickle import dumps, loads
88

99
import numpy as np
@@ -188,7 +188,7 @@ def test_histogram_metadata(copy_fn, metadata):
188188

189189

190190
@pytest.mark.skipif(
191-
platform.python_implementation() == "PyPy",
191+
sys.implementation.name == "pypy",
192192
reason="Not remotely supported on PyPY, hangs forever",
193193
)
194194
@pytest.mark.parametrize("mod", [np, math])

0 commit comments

Comments
 (0)