-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[build] use bazel to update python requirements #16930
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Latest suggestions up to b76dbfa
Previous suggestions✅ Suggestions up to commit e791f86
|
||||||||||||||||||||||||||||||||||||||
|
This needs some work |
|
oops.. closed it by accident. I'll review later today |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||||
|
@cgoldberg There aren't any changes when I run this, so it isn't needed for the current release, so not a rush. Much better that we ensure it does the same thing your shell script does as well as it did. |
e791f86 to
dde18f6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR automates Python dependency updates as part of the pre-release workflow, bringing Python dependency management in line with how Java, Ruby, and Rust handle their dependencies.
Changes:
- Replaces shell script with cross-platform Python implementation for updating py/requirements.txt
- Integrates Python dependency updates into the pre-release CI workflow
- Adds Bazel targets and Rake tasks for streamlined dependency management
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/update_py_deps.py | New Python script to update dependencies with latest compatible versions while preserving extras and formatting |
| scripts/update_py_dependencies.sh | Removed legacy shell script implementation |
| scripts/BUILD.bazel | Added Bazel target for the new update_py_deps script |
| Rakefile | Added py:update and py:pin tasks with proper git staging |
| .github/workflows/pre-release.yml | Integrated py:update into pre-release workflow alongside Java updates |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
dde18f6 to
0b68266
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
d56a5a2 to
3a425d3
Compare
cgoldberg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍 I just tried this and it seems to work correctly.
|
there are some merge conflicts in the Rakefile that need to be fixed |
3a425d3 to
b76dbfa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
User description
Java explicitly updates versions in pre-release workflow
Ruby & Rust do so when their versions are updated.
Goal is to have something automated for python as well.
💥 What does this PR do?
🔧 Implementation Notes
Tried to follow the existing approach, just with bazel's python
PR Type
Enhancement, Tests
Description
Replace shell script with Python implementation for updating dependencies
Integrate Python dependency updates into pre-release workflow automation
Add Bazel target and Rake task for streamlined dependency management
Preserve package extras and formatting in requirements file
Diagram Walkthrough
File Walkthrough
update_py_deps.py
New Python dependency update scriptscripts/update_py_deps.py
versions
versions
urllib3[socks]
Rakefile
Add Rake task for Python dependency updatesRakefile
update_py_dependencies.sh
Remove legacy shell scriptscripts/update_py_dependencies.sh
pre-release.yml
Integrate Python updates into pre-release workflow.github/workflows/pre-release.yml
BUILD.bazel
Add Bazel target for dependency updaterscripts/BUILD.bazel