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

Address breakage of our test suite *before* aiohttp 4.0.0 goes out of alpha #2971

Closed
ichard26 opened this issue Mar 29, 2022 · 1 comment · Fixed by #2974
Closed

Address breakage of our test suite *before* aiohttp 4.0.0 goes out of alpha #2971

ichard26 opened this issue Mar 29, 2022 · 1 comment · Fixed by #2974
Labels
C: maintenance Related to project maintenance, e.g. CI, testing, policy changes, releases help wanted Extra attention is needed

Comments

@ichard26
Copy link
Collaborator

ichard26 commented Mar 29, 2022

So thanks to the various dependency related fires we've had lately, I've created ichard26/black-deps-ci which runs Black's test suite using the latest development versions for most of our dependencies (exceptions being subdependencies and most of the test dependencies) *daily*

Turns out there's a lot of overrides necessary for CI to be green. Python 3.6 support being dropped is responsible for the vast majority of overrides, but on the other hand, aiohttp breaks our test suite as the aiohttp.test_utils.unittest_run_loop decorator was removed 🙃

https://github.com/ichard26/black-deps-ci/blob/4e25ac3dea340a956e35dab37b2ac5c4177c105e/generate.py#L9-L24

overrides = {}
overrides["aiohttp"] = [
    ("aiohttp>=3.7.4 ; python_version == '3.6'", "aiohttp 4.x requires Python 3.7+"),
    ("aiohttp<4", "aiohttp 4+ breaks our test suite as @unittest_run_loop was deleted"),
]
overrides["click"] = [("click>=8.0.0 ; python_version == '3.6'", "click 8.1.0+ dropped Python 3.6 support")]
overrides["ipython"] = [
    (
        "ipython>7.8.0 ; python_version <= '3.7'",
        "ipython 7.17+ dropped Python 3.6 and ipython 8+ dropped Python 3.7 support",
    )
]
overrides["pytest"] = [("pytest>6.1.1 ; python_version == '3.6'", "pytest 7.1.0+ dropped Python 3.6 support")]
overrides["platformdirs"] = [("platformdirs>=2 ; python_version == '3.6'", "platformdirs 2.5.1< dropped Python 3.6 support")]
overrides["tokenize-rt"] = [("tokenize-rt>3.2.0 ; python_version == '3.6'", "tokenize-rt 4.2.1< dropped Python 3.6 support")]
overrides["tomli"] = [("tomli>=1.1.0 ; python_version == '3.6'", "tomli 2.0.0+ dropped Python 3.6 support")]

And FYI, we've been warned about this in CI: https://github.com/psf/black/runs/5727523727?check_suite_focus=true#step:6:325


The best solution is probably to allow the import to fail replacing unittest_run_loop with just a no-op decorator. Although I wouldn't object to bumping up our aiohttp lower bound.

@ichard26 ichard26 added help wanted Extra attention is needed C: maintenance Related to project maintenance, e.g. CI, testing, policy changes, releases S: needs discussion Needs further hashing out before ready for implementation (on desirability, feasibility, etc.) and removed S: needs discussion Needs further hashing out before ready for implementation (on desirability, feasibility, etc.) labels Mar 29, 2022
@ichard26
Copy link
Collaborator Author

It's worth noting even though a substantial amount of our dependencies have removed Python 3.6 support, we will (probably) be fine keeping it for quite a bit longer as our lower bounds are still low enough where pip will be able to install something functional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: maintenance Related to project maintenance, e.g. CI, testing, policy changes, releases help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant