From 6d8965f0aa00121b482ec4b44fa056fecd10877f Mon Sep 17 00:00:00 2001 From: David Rebbe Date: Tue, 7 Jul 2026 16:11:22 -0400 Subject: [PATCH] Ignore W009/W010 in wheel-contents check for repaired wheels Deploy PyPI has failed since delvewheel started vendoring msvcp140 into python_ics.libs/: check-wheel-contents flags the extra toplevel dir (W009) with no Python modules (W010) on every Windows wheel. Verified against the run-28872960948 artifacts: all 10 Windows wheels fail without the ignore and all pass with it; other checks stay active. Co-Authored-By: Claude Fable 5 --- .github/workflows/wheels.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index a8c5cea26..341afa198 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -95,5 +95,11 @@ jobs: run: | source .venv/bin/activate uv pip install check-wheel-contents twine - check-wheel-contents ./wheelhouse/*.whl + # W009/W010 fire on the delvewheel-repaired Windows wheels, whose + # vendored-runtime dir (python_ics.libs/ with msvcp140*.dll) is a + # second toplevel entry with no Python modules. That layout is + # correct for repaired wheels; a [tool.check-wheel-contents] + # toplevel allowlist would instead fail the macOS/Linux wheels, + # which don't have the directory. + check-wheel-contents --ignore W009,W010 ./wheelhouse/*.whl twine upload -u __token__ -p ${{ secrets.PYPI_TOKEN }} --verbose ./wheelhouse/* \ No newline at end of file