setup-docker-macos-action
setup-docker-macos-action copied to clipboard
ARM64 support on `macos-15` images
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 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.
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.
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.
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: 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).
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
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.
@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.
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 ⏳🫠🤌🏻