- Switched from windows-2019 to windows-2022
- Switched to ubuntu-24.04-arm image for Linux aarch64 jobs
- Fixed Linux x86 job. It was failing but not reported
- Switched from Visual Studio 16 2019 generators to Visual Studio 17 2022
- Uncommented Windows MINGW32 static and shared jobs
- Generic clean-up
* arm64 python: Avoid nested class in insn hook for 10x hook speedup
Promote CpReg to a module-level class to address unnecessary performance
reduction. In a real-world use case tracing the emulation of real-world
machine code, this change reduces time spent in CpReg namedtuple
construction from 10% of overall time to below 1%, for a 10x speedup of
the insn hook itself, or a 10% overall speedup. Measured using
cProfile, python 3.13.
* upgrade distro to 22.04
* revert to 22.04 for now
* also revert for wheels
---------
Co-authored-by: mio <mio@lazym.io>
* Python bindings: Fix upload-artifact actions
* Github Action: Enable workflow_dispatch to manually trigger jobs to produce either Debug or Release builds
* Python bindings: Make the test scripts handy for pytest
* Python bindings: Update MANIFEST.in with new paths
* Update .gitignore to exclude PyCharm-related files/folders
* Python bindings: Update CMakeLists.txt in order to set CMAKE_OSX_ARCHITECTURES var
* Python bindings:
- 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
* Python bindings:
- Replaced old PyPI-publishing.yml workflow with brand-new one based on cibuildwheel
- Removed old building scripts
* Replaced macos-12 runner with macos-13 since it will be removed soon
* Python bindings: Specify SYSTEM_VERSION_COMPAT=0 env var for macos-13 x86_64 runner as per cibuildwheel warning message
* Python bindings: Enable i686 for debugging
* Python bindings: Enable DEBUG flag according to the presence of tag release
* Python bindings: Added matrix to cover i686 manylinux/musllinux builds
* Python bindings:
- Replaced macos-14 runner with macos-latest
- Bumped cibuildwheel GitHub action to 2.21.3 version
* Python bindings:
- Adapt test_uc_ctl_tb_cache test to the recent changes
- Fixed typos
- PEP8 fixes
* GitHub Action Workflow: Introduce BUILD_TYPE env var to select build type according to the presence of tag release
---------
Co-authored-by: mio <mio@lazym.io>