setup-docker-macos-action icon indicating copy to clipboard operation
setup-docker-macos-action copied to clipboard

ARM64 support on `macos-15` images

Open duburcqa opened this issue 1 year ago • 10 comments
trafficstars

Images for macOS 15 has been released in the wild a few weeks ago (see https://github.com/github/roadmap/issues/986, https://github.com/github/roadmap/issues/987). Apparently now it features nested virtualisation, which should enable using docker in macOS VM. Although it is only a public beta at the time being, It would be nice to update this plugin so that it can leverage this capability on macOS-15 images.

duburcqa avatar Jul 16 '24 13:07 duburcqa

@duburcqa they will only support nested virtualization if running on M3 and beyond, as stated in the docs: https://developer.apple.com/documentation/virtualization/vzgenericplatformconfiguration/4360553-isnestedvirtualizationsupported?changes=latest_minor.

I doubt Github already upgraded to M3 machines, but let's see.

douglascamata avatar Jul 16 '24 13:07 douglascamata

Arf, I missed this information, you are right. I agree it is unlikely that they upgraded to M3 machines considering the little benefits of doing so overall apart from this specific capability. Feel free to close this issue if you want.

duburcqa avatar Jul 16 '24 14:07 duburcqa

For the record, macos-15-xlarge is apparently running on M2 PRO chips (see https://github.com/github/roadmap/issues/984). No M3 in sight and yet it is the best that Github has to offer.

duburcqa avatar Jul 16 '24 14:07 duburcqa

Any updates for macOS 15 support? I noticed this is officially added in https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md

TQJADE avatar Sep 30 '24 16:09 TQJADE

@TQJADE: It's impossible to support macOS 15 because it runs on arm64 and we don't have nested virtualization enabled on M2 Pro (the latest chip GH action workers use).

douglascamata avatar Sep 30 '24 20:09 douglascamata

It works now -- I'm running SQL Server on macos-latest in my potatoqualitee/mssqlsuite action. You can see here

https://github.com/dataplat/dbatools.library/actions/runs/16555606153/job/46816667569

potatoqualitee avatar Jul 27 '25 21:07 potatoqualitee

That's interesting, @potatoqualitee! Thanks for reporting. I will investigate when I have some time this week, do any required updates to officially support it and change the README accordingly.

douglascamata avatar Jul 27 '25 23:07 douglascamata

@potatoqualitee it's only working for you because you are running with the default value of --vm_type, which is qemu. So it was slow (I noticed by your commit message) because what you got was emulation (both of the x86_64 architecture AND of the machine itself), not virtualization. This project uses --vm-type vz, which is Apple's Virtualization framework and it only works with nested virtualization. I prefer to not support QEMU because in this particular scenario that we are stuck with it's very slow and often problematic.

Apple's documentation still states that nested virtualization is enabled in the M3 chips. The whole M2 family has nested virtualization disabled on software, even though hardware support is present and other OSes (like Asahi) enable it.

douglascamata avatar Jul 28 '25 15:07 douglascamata

Annoying it is an enforced limitation by Apple. There might be edge cases they do not want to maintain support for, but I doubt it 😕 Back to waiting for that day where we can reliably test containerised applications across linux, macOS, and Windows in GitHub Actions ⏳🫠🤌🏻

devantler avatar Jul 28 '25 17:07 devantler