Add Python 3.15 test infrastructure#15718
Conversation
a5bdf56 to
4b16997
Compare
This comment has been minimized.
This comment has been minimized.
4b16997 to
9fec5c1
Compare
This comment has been minimized.
This comment has been minimized.
9fec5c1 to
b6e8147
Compare
This comment has been minimized.
This comment has been minimized.
b6e8147 to
e06d38b
Compare
This comment has been minimized.
This comment has been minimized.
e06d38b to
dc304d7
Compare
|
Codex is still chugging along but I think this is close enough that it can be reviewed (current CI has one failure but it's a flake). The main thing I'm uncertain about is the testing for third-party packages. I had it add a denylist of packages that have deps that don't support 3.15 yet and exclude them from mypy; @srittau do you think that's the right approach? We could also skip 3.15 CI completely for now for third-party packages, as it feels less valuable than for the stdlib. I think the current iteration also skips pyright 3.15 CI completely, I'll make that work similarly to the mypy CI, whatever we decide on. |
This comment has been minimized.
This comment has been minimized.
dc304d7 to
2024781
Compare
This comment has been minimized.
This comment has been minimized.
2024781 to
44d2e56
Compare
This comment has been minimized.
This comment has been minimized.
|
I think in the past we skipped third-party tests only for those packages that didn't work yet, although I don't recall how exactly we did that. I'm fine for skipping all third-party tests for now. |
|
For pyright we now skip everything (because it's harder to exclude just some packages), for mypy only those exact packages that are broken. That seems fine for now. |
| @@ -0,0 +1,129 @@ | |||
| _decimal | |||
There was a problem hiding this comment.
Apparently Ubuntu 3.15 on CI doesn't have the C version of decimal which seems a bit concerning.
There was a problem hiding this comment.
The Python versions on GitHub are sometimes a bit concerning ...
srittau
left a comment
There was a problem hiding this comment.
Looks good, just two comment-related remarks.
| @@ -0,0 +1,25 @@ | |||
| _decimal.SPEC_VERSION | |||
There was a problem hiding this comment.
Could we add a TODO comment to all new allowlists?
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
|
Diff from mypy_primer, showing the effect of this PR on open source code: pandas (https://github.com/pandas-dev/pandas)
+ pandas/core/computation/ops.py:328: error: Need type annotation for "_binary_ops_dict" (hint: "_binary_ops_dict: dict[<type>, <type>] = ...") [var-annotated]
|
Not yet enabled: the pyright 3.15 CI leg, because its bulk third-party dependency installation currently pulls dependency stacks that are not installable on Python 3.15 yet, including rpds-py/PyO3.