-
Notifications
You must be signed in to change notification settings - Fork 4.2k
build: Don't have both a pip and pip-tools requirements files. #37636
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
|
@timmc-edx I feel like you've thought about this a bit before so I'd love your thoughts on this change if you have a sec for it. Though, review from others is also welcome. |
|
I'm having some trouble seeing the logic here. Won't this still break during a period of incompatible latest/latest? Or is the idea that pip-tools will constrain the pip version somehow and ensure we get a compatible pair? |
|
The |
|
In a situation where latest of pip and pip-tools are incompatible, I would predict the following:
What am I missing here? |
|
...actually, why have pip.txt at all if pip-tools.txt includes it? |
|
Yea, I was thinking about that too, like do we need both? Thinking about it more, the pip-compile of |
Previously we would upgrade pip before we upgrade pip-tools. This breaks when the latest version of pip is not compatible with the current version of pip-tools as happened with jazzband/pip-tools#2252 If we re-order the steps so that we upgrade pip-tools first, we know that this upgrade call will work since it will run with the versions of pip and pip-compile that ran the last full upgrade. However in this case the pip.txt file is redundant as the pip-tools.txt file already has the latest version of pip that is compatible with the current version of pip-tools being installed. This changeset also updates the compile-requirements command to ignore the common_constraints entry for pip so that we can verify the upstream fix of pip-compile before we remove the entry from common_constraints.txt upstream.
Use the `pre-requirements` target to ensure that pip is installed at a version that's valid for the rest of the workflow.
647ad0e to
6f37e0b
Compare
timmc-edx
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.
Looks good! Just needs updated PR title/desc.
Previously we would upgrade pip before we upgrade pip-tools. This
breaks when the latest version of pip is not compatible with the current
version of pip-tools as happened with jazzband/pip-tools#2252
If we re-order the steps so that we upgrade pip-tools first, we know
that this upgrade call will work since it will run with the versions of
pip and pip-compile that ran the last full upgrade.
However in this case the pip.txt file is redundant as the pip-tools.txt
file already has the latest version of pip that is compatible with the
current version of pip-tools being installed.
This changeset also updates the compile-requirements command to ignore
the common_constraints entry for pip so that we can verify the upstream
fix of pip-compile before we remove the entry from
common_constraints.txt upstream.