fix: publish Python SDK again and fail the release when it does not - #485
Conversation
Python 3.12 venvs no longer include setuptools, so setup.py crashed and twine had nothing to upload. The failure was masked because the python function runs inside an || list, which disables errexit, and the trailing to_git call returned 0. PyPI has been stuck at 1.22.28 since March. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe release script now performs Python packaging and upload steps with fail-fast error handling. It installs both ChangesRelease packaging
Priority: ➖ Normal Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The Python release upload accepts the quoted artifact pattern and retains fail-fast failure handling, so this change is ready to merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Python 3.12 venvs no longer ship setuptools, so
setup.pycrashed and twine had nothing to upload. The step still reported success: the function runs inside an||list, which disables errexit, and the trailingto_gitcall returned 0. PyPI has been stuck at 1.22.28 (2026-03-11) while client-python kept getting commits and tags.Now installs setuptools, chains the build and upload with
&&, and returns 1 on failure so the push to client-python is skipped and the job goes red.The same masking pattern exists in the typescript, typescript-fetch, php and ruby functions. Left out of this PR.
🤖 Generated with Claude Code
Summary by CodeRabbit