-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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 binding setup refactoring + cibuildwheel workflow #2026
Merged
wtdcode
merged 14 commits into
unicorn-engine:dev
from
Antelox:refactor/bindings/python
Oct 17, 2024
Merged
Python binding setup refactoring + cibuildwheel workflow #2026
wtdcode
merged 14 commits into
unicorn-engine:dev
from
Antelox:refactor/bindings/python
Oct 17, 2024
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
Contributor
Antelox
commented
Oct 11, 2024
•
edited
Loading
edited
- Moved test scripts into tests folder to make them handy for pytest (this is just a preliminary step to actually porting current tests to pytest-compliant. However it's enough as of now since it makes the job to test if the wheel is ok or not...)
- Updated CMakeLists.txt in order to set CMAKE_OSX_ARCHITECTURES var
- Moved project package settings to the new TOML format: pyproject.toml
- Refactored setup.py to cleanup/improve the code and make it ready for cibuildwheel
- Updated README.md with the package long description part
- Updated MANIFEST.in with new paths
- Removed setup.cfg since universal wheel building will be deprecated soon
- Replaced old PyPI-publishing.yml workflow with brand-new one based on cibuildwheel: Leveraged the GitHub matrix strategy in order to execute more build types in parallel rather one-by-one. This is crucial for the Linux aarch64 builds since they will be built within Ubuntu x64 and cibuildwheel uses QEMU under the hood (hence slow!). The workflow is configured in a way that it builds for each platforms/architectures just python 3.8 wheel, and all the remaining python versions wheels only for a tag release (for a matter of workflow time execution of course)
- Removed old building scripts
- Removed .gdb_history file
- Updated .gitignore to exclude PyCharm-related files/folders
- Replaced macos-12 runner with macos-13 since it will be removed soon
- Select build type according to the presence of tag release
Antelox
force-pushed
the
refactor/bindings/python
branch
2 times, most recently
from
October 14, 2024 07:57
70c1620
to
72da31a
Compare
Antelox
force-pushed
the
refactor/bindings/python
branch
2 times, most recently
from
October 15, 2024 07:15
ae2bfc2
to
eade532
Compare
Antelox
force-pushed
the
refactor/bindings/python
branch
4 times, most recently
from
October 17, 2024 08:00
618841b
to
c1a764c
Compare
- Moved project package settings to the new TOML format - Refactored setup.py to cleanup/improve the code and make it ready for cibuildwheel - Updated README.md with the package long description part - Removed setup.cfg since universal wheel building will be deprecated soon
- Replaced old PyPI-publishing.yml workflow with brand-new one based on cibuildwheel - Removed old building scripts
… x86_64 runner as per cibuildwheel warning message
- Replaced macos-14 runner with macos-latest - Bumped cibuildwheel GitHub action to 2.21.3 version
- Adapt test_uc_ctl_tb_cache test to the recent changes - Fixed typos - PEP8 fixes
…type according to the presence of tag release
Antelox
force-pushed
the
refactor/bindings/python
branch
from
October 17, 2024 08:41
c1a764c
to
a2a2d76
Compare
Finally, we have some modern infrastructure for building wheels. I hope this fixes various wheels-related issues. |
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.