Skip to content

fix(ci): drop x86_64 mac wheels and clean up obsolete CIBW_SKIP entries#1694

Merged
bdraco merged 1 commit into
masterfrom
fix-macos-arm64-only
May 17, 2026
Merged

fix(ci): drop x86_64 mac wheels and clean up obsolete CIBW_SKIP entries#1694
bdraco merged 1 commit into
masterfrom
fix-macos-arm64-only

Conversation

@bdraco
Copy link
Copy Markdown
Member

@bdraco bdraco commented May 17, 2026

Summary

Two fixes for the 0.149.2 wheel publish failure (run 25976603151):

  1. Drop x86_64 mac wheels. CIBW_ARCHS_MACOS="x86_64 arm64" failed delocate with an arch-mismatched wheel because cibuildwheel created the x86_64 build's virtualenv on the host arm64 (log shows CPython3.10.11.final.0-64-arm64), so the C extension compiled for arm64 inside a venv tagged x86_64. Cross-compiling x86_64 from Apple Silicon is brittle enough that the simpler answer is to drop x86_64 mac wheels — Apple Silicon has been the default since late 2020 and Intel-Mac users can still install via sdist.
  2. Drop obsolete CIBW_SKIP entries. cibuildwheel 3.x dropped Python < 3.8 support and emits Invalid skip selector: 'cp36-*' / 'cp37-*' / 'pp36-*' / 'pp37-*' warnings on every run. Removed.

Details

CIBW_ARCHS_MACOS=arm64 only affects mac runs; the env var is a no-op on Linux/Windows.

Reduced skip list keeps the still-useful entries: cp38-*, cp39-*, pp38-*, pp39-* (matches requires-python = ">=3.10").

Test plan

  • Merge → PSR cuts 0.149.3.
  • Confirm Wheels for macos-latest (manylinux) job succeeds and produces only *-macosx_*_arm64.whl.
  • Confirm upload_pypi runs and 0.149.3 lands on PyPI with the full Linux/Windows/mac-arm64 wheel set.
  • Confirm no more Invalid skip selector warnings in cibuildwheel logs.

Follow-up

Universal2 wheels (CIBW_ARCHS_MACOS="universal2") are a possible re-add later if Intel-Mac coverage matters; they build natively on arm64 without the cross-compile issues. Out of scope for this PR.

Two issues from the 0.149.2 wheel run:

1. CIBW_ARCHS_MACOS="x86_64 arm64" failed: macos-latest is
   macos-15-arm64 and the x86_64 virtualenv was created with the
   host arch ("CPython3.10.11.final.0-64-arm64" in cibuildwheel's
   log), so the C extension built for arm64 and delocate-wheel
   refused the arch-mismatched wheel. Cross-compiling x86_64 from
   Apple Silicon is fragile enough that the simpler fix is to drop
   x86_64 mac wheels — Apple Silicon has been default since late
   2020 and Intel Mac users can still install via sdist.

2. cibuildwheel 3.x dropped Python < 3.8 support and emits
   "Invalid skip selector" warnings for cp36-* cp37-* pp36-* pp37-*
   on every run. Removed.
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented May 17, 2026

Merging this PR will not alter performance

✅ 6 untouched benchmarks


Comparing fix-macos-arm64-only (a893676) with master (745198b)1

Open in CodSpeed

Footnotes

  1. No successful run was found on master (7f1ea4b) during the generation of this report, so 745198b was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@bdraco bdraco merged commit 104c5d6 into master May 17, 2026
23 of 32 checks passed
@bdraco bdraco deleted the fix-macos-arm64-only branch May 17, 2026 00:31
@codecov
Copy link
Copy Markdown

codecov Bot commented May 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.76%. Comparing base (745198b) to head (a893676).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1694   +/-   ##
=======================================
  Coverage   99.76%   99.76%           
=======================================
  Files          33       33           
  Lines        3410     3410           
  Branches      464      464           
=======================================
  Hits         3402     3402           
  Misses          5        5           
  Partials        3        3           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant