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

Fixup pip_version_resolver specs #7699

Merged
merged 1 commit into from
Aug 2, 2023
Merged

Conversation

jeffwidman
Copy link
Member

@jeffwidman jeffwidman commented Aug 2, 2023

While working on the PR to drop support for Python 3.6, I noticed these specs could use some tidying up:

  1. 3.7 will soon be dropped, so bumped the "latest" version to 3.11.
  2. We had no explicit test of what happens when an outdated Python version was specified.

Finally, the biggest change is removing the test of "old python version supported by Dependabot but not supported by a newer version of the library". The problem is that the test scenario, while nice to have, is becoming less realistic.

Overall (and I say this as someone who helps maintain several popular Python open source libraries) the Python ecosystem has been aligning pretty closely to the upstream version support lifecycle. Ie, library maintainers are starting to align when they drop support for old python versions with the upstream EOL cycle.

Similarly, we're moving towards here in Dependabot.

So it's going to be really hard to find an example of a library that releases a new version dropping support for a Python version that isn't EOL'd... or if it is EOL'd, then most likely we've dropped support for that Python version here in Dependabot.

And even if I do manage to track down a library doing this, or mock a fake response from PyPI, it'll be a brittle test because every year we'll be dropping support for that old version.

So instead I think the test of "that is set to a python version no longer supported by Dependabot" is a more realistic test scenario.

This is similar to the changes I already made for other Python package managers over in:

@jeffwidman jeffwidman requested a review from a team as a code owner August 2, 2023 20:17
@jeffwidman jeffwidman force-pushed the tidy-up-pip-version-resolver-spec branch 3 times, most recently from be56b9b to 54b1a0e Compare August 2, 2023 20:32
@jeffwidman jeffwidman enabled auto-merge (squash) August 2, 2023 20:34
While working on the PR to drop support for Python 3.6, I noticed these specs could use some tidying up:
1. `3.7` will soon be dropped, so bumped the "latest" version to `3.11`.
2. We had no explicit test of what happens when an outdated Python version was specified.

Finally, the biggest change is removing the test of "old python version supported by Dependabot but not supported by a newer version of the library". The problem is that while nice to have the scenario it's testing is becoming less realistic.

Overall (and I say this as someone who helps maintain several popular Python open source libraries) the Python ecosystem has been aligning pretty closely to the upstream version support lifecycle. Ie, library maintainers are starting to align when they drop support for old python versions with the upstream EOL cycle.

Similarly, we're moving towards here in Dependabot.

So it's going to be really hard to find an example of a library that releases a new version dropping support for a Python version that isn't EOL'd... or if it is EOL'd, then most likely we've dropped support for that Python version here in Dependabot.

And even if I do manage to track down a library doing this, or mock a fake response from PyPI, it'll be a brittle test because every year we'll be dropping support for that old version.

So instead I think the test of "that is set to a python version no longer supported by Dependabot" is a more realistic test scenario.

I also tidied up some similar examples of this test to be consistent in
formatting... their contents didn't change.
@jeffwidman jeffwidman force-pushed the tidy-up-pip-version-resolver-spec branch from 54b1a0e to bb7639f Compare August 2, 2023 21:04
@jeffwidman jeffwidman merged commit af17246 into main Aug 2, 2023
@jeffwidman jeffwidman deleted the tidy-up-pip-version-resolver-spec branch August 2, 2023 21:16
@jeffwidman jeffwidman added L: elixir:hex Elixir packages via hex Ecosystems Used by the maintainer team for internal-facing project tracking and removed L: python labels Aug 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ecosystems Used by the maintainer team for internal-facing project tracking L: elixir:hex Elixir packages via hex
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants