Skip to content

Commit 5594c3e

Browse files
committed
zstandard: fix cibuildwheel 4.x enable groups, test build[uv]
The 0.25.0 tag pins enable = ["cpython-freethreading", "cpython-prerelease"] and targets cibuildwheel 3.x. RISE pins cibuildwheel 4.1.0, which removed the cpython-freethreading group (freethreaded builds are default now) and errors on it at config-parse. Strip that group so 4.1.0 can read the config. Also drop the CIBW_BUILD_FRONTEND override: the manylinux_2_39_riscv64 image now ships uv, so let upstream's build[uv] frontend run and confirm it works on riscv64 rather than forcing the plain build frontend. Signed-off-by: Bruno Verachten <gounthar@gmail.com>
1 parent 716a810 commit 5594c3e

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

.github/workflows/build-zstandard.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,29 @@ jobs:
5454
submodules: recursive
5555
persist-credentials: false
5656

57+
# zstandard 0.25.0 targets cibuildwheel 3.x and pins
58+
# `enable = ["cpython-freethreading", "cpython-prerelease"]`. cibuildwheel
59+
# 4.x dropped the cpython-freethreading group (freethreaded builds are on
60+
# by default now) and errors out on it at config-parse. Strip it so the
61+
# pinned 4.1.0 can read the config; freethreaded cp314t still builds.
62+
# Upstream HEAD already removed it, so this is only needed for this tag.
63+
- name: Make pyproject enable groups compatible with cibuildwheel 4.x
64+
working-directory: ${{ github.workspace }}
65+
run: |
66+
python3 - <<'PY'
67+
import pathlib
68+
p = pathlib.Path("pyproject.toml")
69+
t = p.read_text()
70+
for tok in ('"cpython-freethreading", ', ', "cpython-freethreading"',
71+
'"cpython-freethreading"'):
72+
t = t.replace(tok, "")
73+
p.write_text(t)
74+
PY
75+
5776
- name: Build wheels
5877
uses: pypa/cibuildwheel@294735312765b09d24a2fbec22660ce817587d55 # v4.1.0
5978
env:
6079
CIBW_BUILD: ${{ matrix.python }}-manylinux_riscv64
61-
# Upstream pins `build-frontend = "build[uv]"` in pyproject.toml, which
62-
# fails on riscv64: uv is not present in the manylinux_riscv64 image, so
63-
# cibuildwheel aborts on `which uv`. Force the plain build frontend.
64-
CIBW_BUILD_FRONTEND: build
6580

6681
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
6782
with:

0 commit comments

Comments
 (0)