feat: macOS universal2 binary — full npm coverage incl. Intel macOS#22
Conversation
Restores darwin-x64 npm coverage without depending on GitHub's unreliable Intel macOS runners. macOS is built once as a universal2 binary on the Apple Silicon runner and served for both the darwin-arm64 and darwin-x64 packages. - spec: target_arch from BECWRIGHT_TARGET_ARCH (universal2 on macOS, host arch elsewhere). - build-binaries.yml: macOS job uses the python.org universal2 framework Python, drops pyyaml's arch-specific C extension (pure-Python yaml is enough), builds universal2, and smoke-tests both the native and the Rosetta (x86_64) slice. - release.yml: stage the one universal2 binary into both darwin packages. - Re-add the @becwright/darwin-x64 package and optionalDependency; restore the launcher's supported-platform list and the docs (five packages, macOS universal2).
|
Warning Review limit reached
Next review available in: 49 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (15)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Why
Restores Intel macOS (
darwin-x64) coverage on npm without depending on GitHub's unreliable Intel macOS runners (which blocked the v0.2.0 release). macOS is built once as a universal2 binary on the Apple Silicon runner and served for both Mac packages.How
packaging/becwright.spec:target_archfromBECWRIGHT_TARGET_ARCH(universal2on macOS, host arch elsewhere).build-binaries.yml: macOS job uses the python.org universal2 framework Python and drops pyyaml's arch-specific C extension (becwright only needsyaml.safe_load/dump, served by the pure-Python loader), so PyInstaller produces a clean universal2 binary. Smoke-tests both the native (arm64) and the Rosetta (x86_64) slice.release.yml: stage the one universal2 binary into bothdarwin-arm64anddarwin-x64packages.@becwright/darwin-x64package + optionalDependency; restore launcher message and docs (five packages, macOS universal2).Verified in CI
Test build (
workflow_dispatch, run 28464865781) — all 4 jobs green, includingdarwin-universal2:Both the native and the Rosetta x86_64 smoke tests passed. 121 unit tests pass; PyPI already covers every platform.
After merge
Create the
v0.2.1release → full npm coverage (linux x64/arm64, macOS Intel+Apple Silicon, win32-x64) + PyPI.