-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Use uv as packaging tool used in CI builds
#37692
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
98b31e0 to
43819fc
Compare
|
OK. Should be I think ready now. After disabling cache we are still way above 50% in the upgrade scenarios - so definitely worth it. |
2c9df56 to
1e1aa0b
Compare
amoghrajesh
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.
Generally looks good, one general comment:
For the commands like pip install / uninstall replaced by ${PACKAGING_TOOL} install / uninstall do we not need -y
|
Should be good to go :). |
Lee-W
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.
Left one nitpick. Really looking forward to this one!
aritra24
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.
With a brief look it seems good to me.
97d06d2 to
f132519
Compare
The `uv` tool released in Feb 2024 by ruff creators provides a way faster drop-in replacement to `pip` and we are using it now in our CI, when it can bring significant speed improvements (and soon possibly more features). This PR replaces `pip install` and `pip uninstall` with equivalent `uv pip install` and `uv pip uninstall` commands, controlled by a single `AIRFLOW_USE_UV` ARG. In CI images it is set to "true" so CI images are prepared using UV, but PROD images (which are also used during CI tests) are built using pip. This way we can get both - stability and compliance for user-facing `pip` installation and speed and new features coming from `uv`.
f132519 to
ffd4f31
Compare
|
All review comments so far addressed. All green. |
amoghrajesh
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.
Took a second look and things look good from my end. Thanks @potiuk
LGTM +1
The
uvtool released in Feb 2024 by ruff creators provides a way faster drop-in replacement topipand we are using it now in our CI, when it can bring significant speed improvements (and soon possibly more features).This PR replaces
pip installandpip uninstallwith equivalentuv pip installanduv pip uninstallcommands, controlled by a singleAIRFLOW_USE_UVARG. In CI images it is set to "true" so CI images are prepared using UV, but PROD images (which are also used during CI tests) are built using pip. This way we can get both - stability and compliance for user-facingpipinstallation and speed and new features coming fromuv.^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in newsfragments.