-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Add Python 3.10 testing. #20864
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.10 testing. #20864
Conversation
Oh, looks like we also need tornado, pandas, pikepdf, pandocfilters, and pyrsistent wheels, but pikepdf is the one tripping us up due to its C libraries. |
I opened pikepdf/pikepdf#245 and disabled extra test dependencies, but it might be a while since Pillow doesn't have wheels either. |
So the failures are now:
|
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.
Is it possible to make the 3.10 test optional, so it doesn't cause a red "Some checks were not successful" message on Github?
GitHub actions doesn't have a notion of "allowed failures"--every PR workflow shows up with its status here. (This has been frustrating) The options are:
|
We could forgive the ImportWarning's in the configuration (like we are doing with deprecation warnings from fontTools right now (and fontTools fixed that upstream yesterday))? I'll look at the pyside2 issue and the sphinx issue as already fixed on their default branch. |
Oh yea, we could do that.
I have a work around for PySide2 mostly complete. |
Great, I was just about to start on this and now will not :) |
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.
The change to enums is enough to work around PySide2 in tests for me, but if I actually run an example, it crashes in a NumPy copy during a paint operation. It doesn't happen in TkAgg or PyQt5, so I'm not sure what I can do about it.
| _enum("QtCore.Qt.ToolBarArea").TopToolBarArea) | ||
self.setAllowedAreas(QtCore.Qt.ToolBarAreas( | ||
int(_enum("QtCore.Qt.ToolBarArea").TopToolBarArea) | | ||
int(_enum("QtCore.Qt.ToolBarArea").BottomToolBarArea))) |
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.
Note the previous typo in the refactor of Qt5/Qt6 code together.
| _enum("QtCore.Qt.ToolBarArea").TopToolBarArea) | ||
self.setAllowedAreas(QtCore.Qt.ToolBarAreas( | ||
int(_enum("QtCore.Qt.ToolBarArea").TopToolBarArea) | | ||
int(_enum("QtCore.Qt.ToolBarArea").BottomToolBarArea))) |
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.
Ditto.
This is an incompatibility with Python 3.10 that is not fixed there yet. https://gitlab.gnome.org/GNOME/pygobject/-/issues/473
It's not currently compatible, but should be in the next bug fix.
…864-on-v3.5.x Backport PR #20864 on branch v3.5.x (Add Python 3.10 testing.)
PR Summary
Currently, pillow (python-pillow/Pillow#5569) and kiwisolver (nucleic/kiwi#103) do not have wheels, which slows down the build a bit, but it should pass anyway.
PR Checklist
pytest
passes).flake8
on changed files to check).flake8-docstrings
and runflake8 --docstring-convention=all
).doc/users/next_whats_new/
(follow instructions in README.rst there).doc/api/next_api_changes/
(follow instructions in README.rst there).