fix(deps): pin cbor2<6 to restore Windows x86 wheel coverage#64
Merged
thomasht86 merged 1 commit intomainfrom May 6, 2026
Merged
fix(deps): pin cbor2<6 to restore Windows x86 wheel coverage#64thomasht86 merged 1 commit intomainfrom
thomasht86 merged 1 commit intomainfrom
Conversation
cbor2 6.0+ rewrote the C extension and dropped both the win32 wheel and the py3-none-any.whl pure-Python fallback. uv sync on the windows-x86 release job ended up trying to build cbor2 from sdist and failed, breaking the v0.4.5 release pipeline. cbor2 5.9.0 ships py3-none-any.whl, which uv installs on win32 (and any other arch without a compiled wheel). The test/benchmark code only uses cbor2.dumps, so 5.x is functionally equivalent.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the Windows x86 release-job failure on the v0.4.5 run: https://github.com/thomasht86/httpr/actions/runs/25425225710/job/74577242234.
Root cause
The dependency bump in #63 left
cbor2unpinned. After cbor2 6.0.1 was released (2026-04-28), the lockfile resolved to it for Python ≥ 3.10. cbor2 6.0+ rewrote the C extension and dropped both thewin32wheel and thepy3-none-any.whlpure-Python fallback — onlywin_amd64andwin_arm64ship. So when thewindows (windows-latest, x86)job runsuv sync --extra dev --find-links dist --reinstall, uv has no installable wheel for cbor2 on win32 and falls back to building from sdist, which fails on the runner. The other Windows job (x64) was cancelled because x86 failed first.cbor2 5.x ships
cbor2-5.9.0-py3-none-any.whl, which uv installs cleanly on win32.Fix
pyproject.toml:cbor2→cbor2<6in thedevextras.uv.lock: regenerated;cbor2collapses from a per-Python-version split (5.9.0for <3.10,6.0.1for ≥3.10) to a single5.9.0entry. Net change is −61 lines.tests/unit/test_cbor.pyandtests/unit/cbor_test_server.pyonly callcbor2.dumps, so 5.x is functionally equivalent for what we exercise.Test plan
uv locksucceeds;cbor2resolves to5.9.0withpy3-none-any.whlavailable.windowsjob is gated onstartsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'(CI.yml:148), so this PR alone won't run it. To verify the fix, trigger the CI workflow via Actions → "Run workflow" against branchclaude/fix-ci-failure-OwPVI, or cut a test tag from this branch.mainpost-merge to ship the release that chore(deps): move benchmark deps to PEP 723 scripts, patch vulns #63 attempted.Generated by Claude Code