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
Build wheel for Python 3.12 beta #594
Conversation
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. @@ Coverage Diff @@
## main #594 +/- ##
=======================================
Coverage 91.66% 91.66%
=======================================
Files 6 6
Lines 1944 1944
=======================================
Hits 1782 1782
Misses 162 162 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Also: I didn't add the 3.12 Trove classifier yet. We could wait until full release in October, but some other projects have added it already:
Shall we wait or add it now? |
I think if we have wheels, we might as well have trove classifiers. I'm not particularly fussy either way though. |
Let's merge, we can do the PyPI trusted publisher later, it's neither blocking this nor urgent. |
Ah right, https://github.com/pypa/gh-action-pypi-publish failed on Windows and macOS:
https://github.com/ultrajson/ultrajson/actions/runs/5171049638/jobs/9314350206 Well, the next 3.12 beta is due out tomorrow, 2023-06-06, and I was planning on waiting for that (and cibuildwheel updates etc.) to make a release with the 3.12 wheels. Some options:
I think this final option is simplest. I seem to remember there being a much bigger variance in build times earlier, but now they're fairly close to each other. It would also mean if any of the individual jobs failed, nothing would be uploaded, which seems better than a partial PyPI release? |
We've been testing Python 3.12 since alpha (#571), and it's now in beta.
The 3.12 release manager said:
I think it would be a good time to also build wheels for 3.12. This will help others, who depend on UltraJSON, to more easily test and prepare their libraries.
It is possible for ABI changes to occur, but these wheels should also be considered beta, and we can easily put out new releases for new beta (or add a build number and upload to the same release).
We're using https://github.com/pypa/gh-action-pypi-publish directly to upload sdists, but twine for the wheels. I've switched the wheels to https://github.com/pypa/gh-action-pypi-publish as well, because I'd like to improve security by switching over to using a "trusted publisher" that makes use of short-lived tokens instead of a persistent one (which lives on my personal account) and is saved in repo secrets.
More info:
But to configure this on PyPI, I'd need "owner" access rather than "maintainer".
@cgbystrom Please could you give me owner access at https://pypi.org/manage/project/ujson/collaboration/?