cross-platform-actions / action

Cross-platform GitHub action
MIT License
128 stars 19 forks source link

take advantage of macos-14 being aarch64 #82

Closed schmonz closed 2 months ago

schmonz commented 7 months ago

GitHub just released a macos-14 runner that is aarch64. I tried it as the host for FreeBSD and OpenBSD arm64 (specifying hypervisor: qemu for both), guessing that it wouldn't work without an update to the Action, and indeed it didn't. Guessing this is reproducible and neither surprising nor interesting, but happy to provide more details if any of those aren't the case.

Would be awesome to be able to run arm64 VMs virtualized, rather than emulated.

jacob-carlborg commented 7 months ago

Yes, this is on my radar. I think the QEMU binary is only compiled for x86-64.

schmonz commented 7 months ago

If an aarch64-native macOS qemu doesn't arrive on its own, I guess there's always Homebrew, and if for some reason no qemu cask is available, there's always actions/cache to save off and restore the binaries instead of building every time. Happy to try to help here if needed.

jacob-carlborg commented 7 months ago

I'm using a custom built QEMU [1], I just haven't built it for ARM64 yet.

[1] https://github.com/cross-platform-actions/resources

jacob-carlborg commented 7 months ago

Unfortunately the M1 hardware, which is what the GitHub runners are using, doesn't support hardware accelerated nested virtualization. The Internet says the M2 hardware supports it, but it's unclear if the underly Hypervisor framework supports it for M2.

jacob-carlborg commented 2 months ago

Since GitHub fairly recently added macOS ARM64 runners and they have the M1 CPU, which doesn't support hardware accelerated nested virtualization, I don't expect they will upgrade any time soon. Therefore I'm closing this issue. We can hope the Linux ARM64 runners will support it.

https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/