Skip to content
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

Test the upcoming pip dependency resolver in CI #4710

Open
Gallaecio opened this issue Aug 1, 2020 · 9 comments · May be fixed by #4814
Open

Test the upcoming pip dependency resolver in CI #4710

Gallaecio opened this issue Aug 1, 2020 · 9 comments · May be fixed by #4814

Comments

@Gallaecio
Copy link
Member

@Gallaecio Gallaecio commented Aug 1, 2020

From pypi-announce@python.org, about pip 20.2:

NOTICE: This release includes the beta of the next-generation dependency resolver. It is significantly stricter and more consistent when it receives incompatible instructions, and reduces support for certain kinds of constraints files, so some workarounds and workflows may break. Please test it with the --use-feature=2020-resolver flag. Please see our guide on how to test and migrate, and how to report issues
https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-2-2020.

The new dependency resolver is off by default because it is not yet
ready for everyday use
.

@wRAR
Copy link
Contributor

@wRAR wRAR commented Aug 3, 2020

I wonder how can we pass that via pytest?

@Gallaecio
Copy link
Member Author

@Gallaecio Gallaecio commented Aug 5, 2020

I think we could set Tox’s install_command for jobs running the latest versions of everything. If there’s a failure, the whole job would fail. So, if it does not, we are OK.

@dswij dswij linked a pull request that will close this issue Sep 30, 2020
3 of 3 tasks complete
@dswij
Copy link

@dswij dswij commented Sep 30, 2020

Hi there, first time contributing for scrapy :) (Also, first time handling tox)

I have set install_command on PR as suggested above. Seems like Azure Pipelines fails on py36. Logs shows that it failed on installing conflicting dependencies, and I'm not sure how to approach this one.

Travis seems to use older version of pip (<20.2) . Would having travis use newer version of pip problematic?

@Gallaecio
Copy link
Member Author

@Gallaecio Gallaecio commented Sep 30, 2020

Thanks for taking this up!

Seems like Azure Pipelines fails on py36. Logs shows that it failed on installing conflicting dependencies, and I'm not sure how to approach this one.

I think the way to go is to upgrade the version of cryptography we use in test jobs with pinned versions to 2.1.4. See the [pinned] section of tox.ini. I would also include a comment indicating why we are upgrading (required by mitmproxy, which is a test dependency), because all other pinned versions there come from setup.py).

Travis seems to use older version of pip (<20.2) . Would having travis use newer version of pip problematic?

I think that should be fine, and it seems doable.

@Gallaecio
Copy link
Member Author

@Gallaecio Gallaecio commented Sep 30, 2020

By the way, my original idea was to have a single job use this, but seeing how by enabling this in all jobs you found an issue in a job that might have gone undetected otherwise, I think it makes sense to use this feature in all jobs.

@dswij
Copy link

@dswij dswij commented Oct 1, 2020

By the way, my original idea was to have a single job use this, but seeing how by enabling this in all jobs you found an issue in a job that might have gone undetected otherwise, I think it makes sense to use this feature in all jobs.

You're right, clumsy me!

I think that should be fine, and it seems doable.

Travis seems to be a pain for upgrading pip. The one posted in the link does not work and putting it in before_install does not seem to change much. Not sure about this, but probably it's because of pip on travis cache?

Also, on py36, the dependencies keep conflicting. I was wondering if loosening the range of dep versions for test job would be wise?

@wRAR
Copy link
Contributor

@wRAR wRAR commented Oct 1, 2020

I've forgot again how do we use the pinned env :) As the proposed change modifies the versions there.

@dswij
Copy link

@dswij dswij commented Oct 1, 2020

I've forgot again how do we use the pinned env :) As the proposed change modifies the versions there.

I genuinely forgot the env was supposed to be pinned due to the whole travis thing. Thanks for pointing that out.

@Gallaecio
Copy link
Member Author

@Gallaecio Gallaecio commented Oct 1, 2020

Let’s continue the conversation on the PR, it should make it easier to give feedback specific to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

3 participants
You can’t perform that action at this time.