Repository navigation
Fix pdm e2e red on every PR: pin hishel<2 - #2028
Mikola Lysenko (mikolalysenko) wants to merge 1 commit into
Conversation
hishel 2.0.0 was published on 2026-11-05 at 14:10 UTC and removed SyncSqliteStorage. PDM 2.26.9 and later declare an unbounded `hishel>=1.0.0`, so a fresh bootstrap now resolves 2.0 and every pdm command dies with "module 'hishel' has no attribute 'SyncSqliteStorage'". That turns the ci.yml e2e_vex_build leg (pdm 2.29.2) red on every PR, and through ci-ok blocks every merge. Pin `hishel<2` for 2.26.1+ in both the e2e harness and scripts/backtest-pdm.py. For 2.26.1 - 2.26.8, which already bound `<1`, the pin changes nothing. 2.21 - 2.26.0 keep `hishel<1`. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011f9aeNshqCtBWV4tqKmmZ6
|
bugbot run Generated by Claude Code |
|
Labeled Ready for review (burn-down agent).
Generated by Claude Code |
Final review brief (for the human approver)What it does: hishel 2.0 (released today) removed Risk: low. Two pin additions in test tooling; no effect on the shipped CLI. For 2.26.1-2.26.8 the pin is a no-op (they already bound Look here
Verified
Changes I made: none. Open questions: none blocking. (Nit: Merging this should turn the other Ready-for-review PRs green after they pick up main. Auto-merge is armed, so approving sends it straight to the merge queue. Generated by Claude Code |
Problem
hishel 2.0.0 was published to PyPI on 2026-11-05 at 14:10 UTC. Since then the required
e2e (ubuntu-latest, e2e_vex_build, poetry/pdm/hatch/pipenv/deno)leg inci.ymlfails on every PR, and throughci-okthat blocks every merge:Both PRs fail the same two tests with the same error. The other suites in the leg (poetry, hatch, pipenv, deno) pass:
Main is green only because nothing has merged since the release. The next merge_group run will fail too. The
pdm-compatibility.ymlcells for 2.26.9+ and the nightly / extended pdm legs on recent releases have the same exposure.Root cause
PDM 2.26.9+ declare an unbounded
hishel[httpx]>=1.0.0(2.29.6 declares>=1.4.0). hishel 2.0 droppedSyncSqliteStorage, which PDM imports at startup. This is the same failure mode as the existinghishel<1(2.21 to 2.26.0) andunearth<0.19pins.Fix
Pin
hishel<2when bootstrapping PDM 2.26.1+, in bothcrates/socket-patch-cli/tests/e2e_vex_build/pdm.rsandscripts/backtest-pdm.py(the twopins_forcopies). For 2.26.1 to 2.26.8, which already bound<1, the pin changes nothing. No test is removed or skipped.Proof
pip install pdm==2.29.2 'unearth<0.19'resolves hishel 2.0.0, andpdm lockfails with the CI error. Adding'hishel<2'resolves 1.4.0 andpdm locksucceeds.SOCKET_PATCH_PDM_E2E_REQUIRED=1 SOCKET_PATCH_PDM_E2E_VERSION=2.29.2 cargo test -p socket-patch-cli --test e2e_vex_build -- pdm:: --ignoredgives2 passed, and the bootstrapped venv hashishel-1.4.0.backtest-pdm.pypins_for: 2.20.1 is unchanged, 2.25.9 keepshishel<1, and 2.26.1 / 2.29.2 addhishel<2.rustfmt --checkon the touched file is clean.https://claude.ai/code/session_011f9aeNshqCtBWV4tqKmmZ6
Generated by Claude Code