madhavajay opened a new pull request, #3114:
URL: https://github.com/apache/fory/pull/3114
## Why?
macOS wheels produced by the native release workflow are tagged as universal2
but contain single‑arch binaries, and artifacts from arm64/x86_64 builds
collide. This makes the published mac wheels incorrect.
You can check by doing this:
```
cd pyfory-0.14.1-cp313-cp313-macosx_15_0_universal2.whl ✔
~/Dow/pyfory-0.14.1-cp313-cp313-macosx_15_0_universal2.whl find ./ -name
"mmh3.so"
./pyfory/lib/mmh3/mmh3.so
~/Dow/pyfory-0.14.1-cp313-cp313-macosx_15_0_universal2.whl lipo -archs
./pyfory/lib/mmh3/mmh3.so
arm64
```
This causes it to crash on intel mac.
I tested this in github CI here:
https://github.com/madhavajay/fory/actions/runs/20806248646/job/59761528285
```
Unpacking to: verify/pyfory-0.14.1.dev0...OK
pyfory/_util.so: x86_64 arm64
pyfory/serialization.so: x86_64 arm64
pyfory/format/_format.so: x86_64 arm64
pyfory/lib/mmh3/mmh3.so: x86_64 arm64
```
## What does this PR do?
- Builds macOS wheels separately on arm64 and x86_64 runners, with explicit
macosx_11_0_<arch> tags.
- Merges the two wheels into a real universal2 wheel using lipo.
- Verifies the merged binaries contain both architectures and that the wheel
tag is macosx_11_0_universal2.
- Adds PYFORY_WHEEL_PLAT support in ci/deploy.sh to force mac wheel tags.
## Related issues
N/A
## Does this PR introduce any user-facing change?
No
## Benchmark
N/A (CI/workflow-only change; no runtime impact)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]