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

Add python 3.11 to testing matrix #402

Closed
wants to merge 14 commits into from
Closed

Conversation

Theelx
Copy link
Contributor

@Theelx Theelx commented Aug 9, 2022

Closes #401

@davvid
Copy link
Member

davvid commented Aug 10, 2022

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.

@Theelx
Copy link
Contributor Author

Theelx commented Aug 10, 2022

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.

@Theelx
Copy link
Contributor Author

Theelx commented Aug 11, 2022

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.

@@ -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"]
Copy link
Contributor

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.

Copy link
Contributor Author

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"]
Copy link
Contributor

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.

Copy link
Contributor Author

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
Copy link
Contributor

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).

Copy link
Contributor Author

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.
@Theelx Theelx closed this Oct 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[TODO] Add Python 3.11 Testing
3 participants