-
Notifications
You must be signed in to change notification settings - Fork 505
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
tests: switch to uv pip-compile for lockfiles #2084
base: devel
Are you sure you want to change the base?
Conversation
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.
Thanks for working on this!
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.
Some minor comments from me but I really like this. Thanks for working on it @gotmax23
@gotmax23 Just checking but did you mark the other PRs to update dependencies as draft pending this one? |
No, they were marked as draft because they were generated using the broken version of pip-tools. I'll check them again so they can be merged in the interim (and also rebase this PR) later. Thanks! |
This is still on my radar. I've just been very busy. Thanks everyone for your feedback so far. |
2f626e5
to
bf7b367
Compare
This switches the nox pip-compile session and lockfiles to use uv pip compile (written in Rust and much faster) instead of pip-compile from pip-tools for our dependency update jobs. As a side effect, this addresses the issue brought up in ansible#1950 (comment), as we're no longer using pip-compile that can break anytime pip changes the private/internal APIs that pip-tools relies on. I re-generated the lockfiles with `--no-upgrade` to avoid extraneous changes in this PR. The only additions are the formatting of comments in the lockfile and colorama. colorama was added as a result of `uv pip-compile`'s `--universal` flag which creates "universal" lockfiles that include dependencies of other platforms, architectures, and Python versions than those of the system used to generate the lockfile. `--universal` should create more consistent results for contributors who use other systems (e.g., Mac OS or a newer Python version than the one used in CI). Fixes: ansible#1755
Suggested-by: Don Naro <[email protected]>
44ae1df
to
95cc63e
Compare
Ready for review |
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.
--universal
should create more consistent results for contributors who use other systems
As long as you're fine with hitting corner cases and restrictions that arise from this...
Can you elaborate? |
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.
This switches the nox pip-compile session and lockfiles to use uv pip compile (written in Rust and much faster) instead of pip-compile from pip-tools for our dependency update jobs.
As a side effect, this addresses the issue brought up in #1950 (comment), as we're no longer using pip-compile that can break anytime pip changes the private/internal APIs that pip-tools relies on.
I re-generated the lockfiles with
--no-upgrade
to avoid extraneous changes in this PR.The only additions are the formatting of comments in the lockfile and colorama.
colorama was added as a result of
uv pip-compile
's--universal
flag which creates "universal" lockfiles that include dependencies of other platforms, architectures, and Python versions than those of the system used to generate the lockfile.--universal
should create more consistent results for contributors who use other systems(e.g., Mac OS or a newer Python version than the one used in CI).
Fixes: #1755