scikit-build-core icon indicating copy to clipboard operation
scikit-build-core copied to clipboard

chore: bump macOS

Open DimitriPapadopoulos opened this issue 1 month ago • 8 comments

The macOS 13 runner will will be retired by 4 December 2025, with jobs using macOS 13 failing temporarily during scheduled brownout time periods starting in November.

GitHub Actions: macOS 13 runner image is closing down

DimitriPapadopoulos avatar Oct 21 '25 08:10 DimitriPapadopoulos

macos-13 was tracking the intel runner. There seems to be macos-15-intel runner, but I'm not sure if we still need to track the intel builds. @henryiii had some discussions about it across the board about it, but I didn't follow it closely.

LecrisUT avatar Oct 21 '25 09:10 LecrisUT

I've changed to macos-15-intel or macos-latest instead.

Intel runners will eventually disappear any way. From Notice of macOS x86_64 (Intel) architecture deprecation:

Apple has discontinued support for the x86_64 (Intel) architecture. GitHub will no longer support this architecture on macOS after the macOS 15 runner image is retired in Fall 2027. You should begin migrating your workloads to arm64-based (Apple Silicon) runners as soon as possible to prepare for this eventual deprecation.

DimitriPapadopoulos avatar Oct 21 '25 09:10 DimitriPapadopoulos

For some reason, macos-latest jobs fail.

I am thinking of using macos-14 instead, and creating an issue for macos-15.

DimitriPapadopoulos avatar Oct 21 '25 11:10 DimitriPapadopoulos

Keep it as-is and we'll try to resolve it here. It seems our detection of macos architecture started to fail:

emod.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64'))

probably we are not catching this new arm64e thing. I don't have macos or am familiar with the ecosystem to debug this, hopefully Henry has ideas about this.

LecrisUT avatar Oct 21 '25 12:10 LecrisUT

Actually, it looks like an architecture problem:

ImportError: dlopen(.../venv/lib/python3.8/site-packages/cmake_example.cpython-38-darwin.so, 0x0002):
tried:
'.../venv/lib/python3.8/site-packages/cmake_example.cpython-38-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')),
'.../venv/lib/python3.8/site-packages/cmake_example.cpython-38-darwin.so' (no such file),
'.../venv/lib/python3.8/site-packages/cmake_example.cpython-38-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64'))

While macos-13 would run on Intel, macos-14 and macos-15 run on ARM, but the build process still creates an Intel mach-o file. Using macos-15-intel might fix the issue, but we need to get to the bottom of this and fix the test on ARM.

DimitriPapadopoulos avatar Oct 21 '25 12:10 DimitriPapadopoulos

Opened issue #1167 for the test failures on macOS ARM.

DimitriPapadopoulos avatar Oct 21 '25 12:10 DimitriPapadopoulos

I'll try macos-14, which I expect to fail as well, and macos-15-intel, which I expect to pass.

DimitriPapadopoulos avatar Oct 21 '25 12:10 DimitriPapadopoulos

Actually, macos-14 does pass. So again it's specific to macos-15.

I'll keep macos-14 for now and make a note that it needs to be updated to macos-latest.

DimitriPapadopoulos avatar Oct 21 '25 13:10 DimitriPapadopoulos