-
Notifications
You must be signed in to change notification settings - Fork 547
ci: test on Python 3.11 #2419
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
ci: test on Python 3.11 #2419
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2419 +/- ##
==========================================
- Coverage 82.34% 76.99% -5.36%
==========================================
Files 591 591
Lines 9729 9731 +2
Branches 1319 1321 +2
==========================================
- Hits 8011 7492 -519
- Misses 1372 1940 +568
+ Partials 346 299 -47
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Looks like another change is failing In this test we mock exception during GET request to PyPI and previously we got I don't think the real exception will have anything to do with |
|
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.
Looks good. I've added a suggestion about linking directly to the testing config (since that's one of those things that's obvious to some developers but probably the majority of users wouldn't know where to find that).
I think you'll want to
- add 3.11 to setup.py
- remove the code temporarily blocking the tests
And then see how it goes. If you want to rebase and see it running you probably need to go against b17a185 instead of the tip of main right now.
What fails now:
|
This reverts commit 2d9681b. Test was fixed in main.
Well, another CI run and both of those tests passed:
I guess just shows how unreliable those tests are... |
@terriko, both are done. What about bumping Windows tests?
I think the latter makes more sense, as 3.11 is default now (when you try to use Python). |
Sigh, and of course flaky tests fail again.
Edit: both passed on the same commit in my fork:
|
Ugh. Okay, unstable tests are bad. But it would be nice to have 3.11 tests running regularly. How do you feel about disabling test_extract_file_deb and test_extract_file_ipk on 3.11 for now and then merging this? They're already disabled on 3.7 due to being unstable there, but they've been solid on 3.8-3.10 so I'm really not sure what's going on here. You could be right that it's (joking: it must be that it hates prime numbers, so 7 and 11 are out but 8, 9, 10 are fine.) |
Sure. But what about |
If you can skip just that one, go ahead. If not, disable them all and then we'll file a bug to look into it further, I guess. |
(Disable it all for python 3.11 only, that is) |
@terriko, any thoughts on this? |
I'm going to punt on updating the python used in windows tests until we can figure out what's wrong with the ones we currently have to skip. But in theory: yes to long tests on 3.11 and windows short tests on 3.10 once we're sure they're not going to be flaky and that deb extraction is actually working as expected. (Or vice versa if there's a particular reason to go the other way, such as performance or availability of the things we need for long tests. But this isn't the bad old days of python 2.7 where half the libraries didn't work in 3 for years so I doubt it's going to make much difference in minor revs.) |
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.
Okay, let's get this merged. I'll file a separate bug to look into the flaky tests on 3.11. (The fail is in the HTML tests which are also flaky but I don't have a resolution for those yet either.)
Fixes #2406
Took the liberty to also edit the readme to remove explicit mentions of Python versions. This way there's no need to update it twice a year (when the old version gets dropped and the new one gets added).
Temporarily skipped language scanner tests to showcase 3.11 hopefully passing in CI. Will revert this commit before merging.Reverted this and merged from main as the test was fixed.Discovered that
asyncio.coroutine
was removed in 3.11 so guarded its import with version check, without it tests fail. Should be good because it's only used on versions less than 3.8 in the code.Had to slightly change one test
test_exception
because of 3.11 changes: 9d6a3d8.Awaiting feedback on whether we should change Windows/long/manyfail Python versions.
And whether to add a PyPI classifier in this PR.Python 3.11 classifier added: 6a21641.At least 2 tests are flaky, unsure if it's related to 3.11, see below: #2419 (comment).