Closed dulfox closed 2 days ago
Currently all the wheels are built by GitHub Actions, in this job: https://github.com/oconnor663/blake3-py/blob/master/.github/workflows/push.yml
GitHub doesn't directly support ARM runners as far as I know (but I could be wrong), so getting additional wheels up probably requires some sort of virtualization. I'm sure something with QEMU is possible, but I don't have a ton of experience with this. Things might get a lot easier if we could use https://github.com/rust-embedded/cross directly for this, but I'm not sure.
It does seem that it is not as simple and straightforward as I thought. Maybe some hope via this link: https://github.com/uraimo/run-on-arch-action Thanks for answering anyway.
https://github.com/pypa/cibuildwheel uses Docker and qemu to run emulated aarch64 containers to build wheels. I'm currently working on getting this to work with pytaglib and it seems to do its job (although slow, unsurprisingly).
I found a build service that's half the price of GitHub actions and has support for arm64 https://buildjet.com/for-github-actions/pricing
Great news @oconnor663 GitHub has a beta for arm64 runners!
You can sign-up here: https://resources.github.com/devops/accelerate-your-cicd-with-arm-and-gpu-runners-in-github-actions/
you can simply use the maturin-action
like pydantic does: https://github.com/pydantic/pydantic-core/blob/e0b4c94054b4bca649d63a8f18843c3baadee1c4/.github/workflows/ci.yml#L395
I saw you use python scripts to upload as release assets.
in constrast, pydantic uses github artifacts for uploading the wheels, and downloads them again in the publish step.
then, you can upload them as release assets and to pypi using dedicated actions (example) too. you won't need PyGithub or your python scrips anymore. 100% yml :)
this example ^ uses pypi trusted publishing (no user/pass). all you need to do is add oconnor663/blake3-py as trusted publisher here and add the permissions
in the github action as per the example.
opened #45, everybody here, please add your review (and test the wheels) 🙏
I've seen that you've provided lots of wheel package but could you please provide linux wheel for aarch64 and armv7 architecture ?