-
-
Notifications
You must be signed in to change notification settings - Fork 175
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
Add python 3.11 to testing matrix #402
Conversation
Nicely done! Thanks for keeping an eye on the latest python versions. Bummer about the test failures tho.. they seem surprising.. they all seem to bail out pretty early. |
The test failures are because flake8 released v5.0 since the last time CI had to run. This introduces compatibility issues and I'm trying to pin it below 5.0 but it isn't working. |
Well it seems scipy says they support python 3.11 in 1.9.0 but didn't add wheels for the rc or beta. I'll try and see if I can coax it to build from source, but that seems unlikely. |
.github/workflows/test.yml
Outdated
@@ -11,7 +11,7 @@ jobs: | |||
strategy: | |||
fail-fast: false | |||
matrix: | |||
python-version: ["3.7", "3.8", "3.9", "3.10"] | |||
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11.0-beta.5"] |
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.
I recommend "N.N-dev" for all versions, as recommended by the action maintainers.
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.
Sounds good, will do!
pyproject.toml
Outdated
@@ -1,5 +1,5 @@ | |||
[build-system] | |||
requires = ["setuptools>=42", "wheel", "setuptools_scm[toml]>=3.4.1"] | |||
requires = ["setuptools>=42", "setuptools<64", "wheel", "setuptools_scm[toml]>=3.4.1"] |
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.
I'm not sure it's safe to specify setuptools twice (though maybe it is). Still, I would recommend setuptools>=42,<64
. But more importantly, I recommend any upper bound should include a comment indicating why pinned (ideally tied to a bug that if resolved would remove the pin). I'm not aware of any issues with Setuptools on Python 3.11 and I use the latest releases across many projects. I'd hope this pin would be unnecessary.
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.
Setuptools>=64 breaks building scipy from source on 3.11, which is required for the full testing.
@@ -1,6 +1,6 @@ | |||
[pytest] | |||
norecursedirs=dist build .tox .eggs | |||
addopts=--doctest-modules --flake8 --cov | |||
addopts=--doctest-modules --cov |
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.
I suspect you're removing pytest-flake8 because a recent release of flake8 broke the plugin. See jaraco/skeleton for how I've addressed the issue (jaraco/skeleton@c64902b).
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.
That issue with flake8 breaking it motivated me to drop flake8, however I was planning to drop flake8 eventually anyway because black is more consistent and popular. I also integrated black into GitHub so that any commits that don't follow black style automatically get changed to black style on merge/push.
The pin was so scipy could build from source, however once scipy releases wheels for 3.11 that will be unnecessary.
Closes #401