-
-
Notifications
You must be signed in to change notification settings - Fork 629
Add support for Python 3.12 #2188
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
Conversation
`click` v8.2 needs to be handled -- as a follow-up change -- but it's hard to know if the application itself will work with it yet. Instead of restricting that in tox.ini, I have chosen to restrict it in the metadata itself. `setuptools` on newer versions breaks some of the tests, but restricting it for package metadata is definitely wrong. Therefore, it is only restricted for now on the `pipsupported` build. This should lead to improved CI, but will not result in all tests passing.
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
The stderr may stop after noting the missing version, without mentioning the missing name
I didn't think to check 3.12-lowest locally before putting up this PR. 🤔 I bet I can fix that, but I'll need to work out how. |
ec8e0ba
to
8ff350b
Compare
Both of the Windows builds are failing on the same test.
|
@sirosen sounds like that's solvable by appending |
Also add the 3.12 classifier: |
- Add 3.12 to CI - Update a test which fails on 3.12 due to changes in CPython/pip behaviors, with a comment explaining why - Update the `tox` `piplowest` build to now select `pip==23.2.*` on Python 3.12+. The lowest declared supported `pip` version (`22.2.*`) does not work on 3.12. This change builds on previous efforts by other pip-tools contributors: - jazzband#2148 - jazzband#2183 Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <578543+webknjaz@users.noreply.github.com> Co-authored-by: Andy Kluger <1787385+AndydeCleyre@users.noreply.github.com>
On Python 3.12+, `shutil.which()` will not recognize executables which do not match `PATHEXT` even when given an absolute path to an executable. As a result, this stub executable used in a test case fails to be recognized and an unexpected error is emitted.
Also, reorder the classifiers to be in ascending order. Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
0f210b3
to
571cbcd
Compare
That was my expectation, and I tried to verify it by pushing a test commit to my fork (separate branch) to run CI with this. I don't "fully get it" because it seems to me like an absolute path ought to succeed if there's an executable file there? But I'm not very knowledgeable about Windows, so maybe this It seems to work, but I lost a bit of time not trusting the fix because the CI output on success was not what I expected to see. We're only getting the successful run of a tox environment reported, not the pytest output. I'm not clear on why that is. I've also modified the primary commit for 3.12 support with co-author info + added a change co-authored by Hugo for the classifier. Assuming this passes in CI, I feel happy with the result! |
@sirosen wow! This is bizarre! I didn't realize. I don't see an obvious explanation for this behavior. This may be tox-dev/tox#3193, but I thought it was addressed already. It's not been happening in most of my other projects, but I'm seeing https://github.com/cherrypy/cheroot/actions/runs/15088798220/job/42414767484#step:16:1 using a command with more CLI args, perhaps that's why. Could you validate this guess? |
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.
@sirosen I'm approving this but leaving merging itself to you. There's an opportunity to accept a suggested change + maybe squash some related commits if you'd like to do that before merging.
Yep. That was it. We can merge #2190 right after merging this PR. |
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
Excellent job tracking that down! I was thinking it looked like parallel output but I didn't see where we're setting that. I'll wait for CI and then we should be able to merge this one. |
Contributor checklist
Maintainer checklist
backwards incompatible
,feature
,enhancement
,deprecation
,bug
,dependency
,docs
orskip-changelog
as they determine changelog listing.