-
-
Notifications
You must be signed in to change notification settings - Fork 36
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
Python support 3.11 #199
Merged
Merged
Python support 3.11 #199
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Closes: #198
This PR adds support for Python 3.11. It also supports
arm64
builds for MacOS. Future PRs can include arm builds for Linux once Github provides ARM runners for Ubuntu.Python 3.12 is currently failing to build on M1 Mac with a segfault. It is not clear where the issue resides (CPython, pybind11, or some other upstream dependency). It may build on Linux, but I have not tested it. I think it is safe to omit Python 3.12 support until another future PR.
To support these changes, the repository was migrated from Bazel 6 which used a
WORKSPACE
to Bazel 7 withbzlmod
. The only remaining workspace artifacts exist to support theemsdk
repository which does not support bzlmod.There are hermetic python versions used for testing different versions. This greatly simplifies testing locally different supported python versions. The caveat is that it installs the 'latest' patch version and therefore is not an exhaustive test for the specific runtime. Publishing wheels depends on the locally installed python version as I wasn't able to hook up a specific python toolchain to
py_wheel
. This is reflected in the CD.yml file which installs multiple python versions for publishing distributions.Affected Dependencies
protobuf
requirement in python.How has this been tested?
CI should pass, but in summary:
bazel test --test_output=all //private_set_intersection/cpp/...
bazel test --test_output=all //private_set_intersection/c/...
bazel test --test_output=all //private_set_intersection/go/...
bazel test --test_output=all //private_set_intersection/rust/...
bazel test --test_output=all //private_set_intersection/python:test_3_8
bazel test --test_output=all //private_set_intersection/python:test_3_9
bazel test --test_output=all //private_set_intersection/python:test_3_10
bazel test --test_output=all //private_set_intersection/python:test_3_11
npm i
npm run build
npm run build:proto
npm run compile
npm run test
Checklist