Skip to content

Commit 4454ce6

Browse files
authored
Merge pull request #2077 from minrk/bump-wheel
cibuildwheel 2.23, delvewheel 1.10 (gets pypy 3.11)
2 parents dde5d91 + b4f166b commit 4454ce6

File tree

6 files changed

+58
-14
lines changed

6 files changed

+58
-14
lines changed

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@ updates:
66
directory: "/"
77
schedule:
88
interval: monthly
9+
- package-ecosystem: pip
10+
directory: "/tools"
11+
schedule:
12+
interval: weekly

.github/workflows/test.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
python: pypy-3.9
5757
zmq: bundled
5858

59-
- os: ubuntu-20.04
59+
- os: ubuntu-22.04
6060
python: "3.8"
6161
zmq: bundled
6262
tornado: none
@@ -79,13 +79,13 @@ jobs:
7979
python: "3.11"
8080
zmq: head
8181

82-
- os: ubuntu-22.04
82+
- os: ubuntu-24.04
8383
python: "3.12"
8484

85-
- os: ubuntu-22.04
85+
- os: ubuntu-24.04
8686
python: "3.13"
8787

88-
- os: ubuntu-22.04
88+
- os: ubuntu-24.04
8989
python: "3.13"
9090
free_threading: free_threading
9191

.github/workflows/wheels.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ jobs:
120120
architecture: x86
121121
cibw:
122122
build: "cp*win32"
123-
# free-threaded doesn't seem to work on Windows
124-
skip: "*t-win*"
125123

126124
- os: windows-2019
127125
name: win-pypy
@@ -134,16 +132,13 @@ jobs:
134132
architecture: x64
135133
cibw:
136134
build: "cp*win_amd64"
137-
# free-threaded doesn't seem to work on Windows
138-
skip: "*t-win*"
139135

140136
- os: windows-2022
141137
name: win_arm64
142138
architecture: x64
143139
cibw:
144140
arch: ARM64
145-
# free-threaded doesn't seem to work on Windows
146-
skip: "cp37* *t-win*"
141+
skip: "cp37*"
147142

148143
steps:
149144
- uses: actions/checkout@v4
@@ -223,12 +218,15 @@ jobs:
223218
- sdist
224219
- wheel
225220
steps:
221+
- uses: actions/checkout@v4
226222
- uses: actions/download-artifact@v4
227223
with:
228224
path: dist
229225
merge-multiple: true
230226
- name: list wheels
231-
run: ls -l dist
227+
run: |
228+
ls -l dist
229+
python3 tools/wheel_summary.py dist | tee "$GITHUB_STEP_SUMMARY"
232230
233231
upload-pypi:
234232
permissions:

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ search = '__version__: str = "{current_version}"'
142142

143143
[tool.cibuildwheel]
144144
build-verbosity = "1"
145-
free-threaded-support = true
145+
enable = ["cpython-freethreading", "pypy"]
146146
test-requires = ["pytest>=6", "importlib_metadata"]
147147
test-command = "pytest -vsx {package}/tools/test_wheel.py"
148148

@@ -170,6 +170,8 @@ MACOSX_DEPLOYMENT_TARGET = "10.15"
170170

171171
[tool.cibuildwheel.windows]
172172
before-all = "python buildutils/bundle.py licenses"
173+
# free-threaded doesn't seem to work on Windows
174+
enable = ["pypy"]
173175
repair-wheel-command = """\
174176
delvewheel repair \
175177
-v \

tools/wheel-requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
cibuildwheel==2.20.*
2-
delvewheel==1.7.2; sys_platform == 'win32'
1+
cibuildwheel==2.23.*
2+
delvewheel==1.10.*; sys_platform == 'win32'

tools/wheel_summary.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
"""Print a markdown table of sdist/wheel outputs
2+
3+
for use in github job summary
4+
"""
5+
6+
from pathlib import Path
7+
8+
9+
def make_summary(dist_dir: str | Path) -> str:
10+
"""Render a list of files as a markdown table
11+
12+
For use summarizing wheel outputs
13+
"""
14+
15+
dist_dir = Path(dist_dir)
16+
all_dists = sorted(dist_dir.glob("*"))
17+
lines = [
18+
f"### {len(all_dists)} files",
19+
"",
20+
"| filename | size |",
21+
"|----------|------|",
22+
]
23+
for path in all_dists:
24+
size = path.stat().st_size
25+
if size < 1e6:
26+
size_s = f"{size / 1e3:.0f} kB"
27+
else:
28+
size_s = f"{size / 1e6:.1f} MB"
29+
lines.append(f"| {path.name} | {size_s} |")
30+
return "\n".join(lines)
31+
32+
33+
if __name__ == "__main__":
34+
import sys
35+
36+
if len(sys.argv) > 1:
37+
dist_dir = Path(sys.argv[1])
38+
else:
39+
dist_dir = Path("dist")
40+
print(make_summary(dist_dir))

0 commit comments

Comments
 (0)