-
Notifications
You must be signed in to change notification settings - Fork 838
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
build(deps): avoid version conflicts #636
Conversation
Flagging @ryannikolaidis in case he is aware of any potential downstream issues with the urllib<2 pin. But, really great to see the dep issues sorted out and a way of preventing the mismatches in the future. Passing CI with Dockerfile is also promising 🤞 . |
Thanks! Nope, I don't think we had anything explicitly forcing our hand. iirc the main push to urllib3 was because the latest for a bunch of our dependencies were requiring urllib3>2. As long as we're okay with those not getting bumps, then I don't think there are any other immediate concerns. Thanks for this @qued! 🙏 |
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!
Addresses #631.
.in
files which are then ingested bysetup.py
.I should note that while it shouldn't be possible to cause a conflict between
base.txt
and any of the extras (becausebase.txt
constrains all the extras) it is possible to get a conflict between two of the extras files. There are ways of trying to avoid that (like constraining each file by all the files that have already been processed before it in the order given in themake pip-compile
target) but the ones I could think of seemed a little overwrought, and come with problems of their own. If a conflict arises, it should be flagged by CI or locally withmake check-deps
. When/if that happens, you can resolve the conflict by adding appropriate global constraints inrequirements/constraints.txt
.Also note that if
fileA.in
is constrained byfileB.txt
, thenfileB.in
should be compiled beforefileA.in
in themake pip-compile
target. OtherwisefileA.in
will be compiled with the old version offileB.txt
which can cause conflicts or keep dependencies from being updated properly.Testing:
make check-deps
says deps are consistent.requirements/ingest-s3.txt
to:make check-deps
produces an error.