Hi everyone, We are currently working on *BEAM-12812 Run GitHub Actions on GCP self-hosted workers* [1] task, and we would like to know your thoughts regarding the Mac OS runners.
Some context of the task The current GitHub Actions workflows are being tested on multiple operating systems, such as Ubuntu, Windows and MacOS. The way to migrate these runners from GitHub-hosted to GCP is by implementing self-hosted runners, so we have started implementing them in both Ubuntu and Windows environments, going with Google Kubernetes Engine and Google Cloud Compute VMs instances respectively. Findings In addition, we are working on researching the best way to implement the MacOS self-hosted runners, concluding with the following approaches: - Cloud Virtual Machines Support - Mac OS X in Docker - Hackintosh Cloud VM Support We have found that there are other Cloud Providers, such as AWS [2], that allow us to host Mac OS instances in our own dedicated hosts using official Apple hardware. However, we don’t have any Mac OS image available in Google Cloud Platform [3] yet. Mac OS X in Docker A Docker image docker-osx [4] is available in Docker Hub for running Mac OS X in a Docker container. Pros Cons - macOS Monterey VM on Linux - Near-native performance - Multiple versions of mac OS: High Sierra, Mojave, Catalina, Big Sur and Monterey - Multiple kind of images depending on the use case - Runs on top of QEMU + KVM - Supports Kubernetes - Is this approach completely allowed according to Apple’s license? - Unverified Docker Hub publisher - Hardware virtualization enabled in BIOS - Approx 20 GB disk space for minimum installation Hackintosh A way to get Mac OS running on hardware that is not authorized by Apple. The creation and configuration of the equipment (using GNU/Linux as a base) can become very complicated resulting in a malfunctioning OS if the required settings are not properly implemented or the hardware is not suitable. In conclusion, we found that there are some ways to run macOS in self-hosted runners, however this could conflict with Apple's terms and licenses and should be investigated in depth before any implementation. The question here would be, if someone knows any other approach where we could run Mac OS in the Cloud following Apple's licenses. Also, we would like to know if there is any information regarding Google Cloud Platform having a macOS image anytime soon for running it in VM or containers, as we think this may be the best approach for this task. Please feel free to share your comments and suggestions. Thank you! Regards, [1] https://issues.apache.org/jira/browse/BEAM-12812 [2] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html [3] https://cloud.google.com/migrate/compute-engine/docs/5.0/reference/supported-os-versions [4] https://hub.docker.com/r/sickcodes/docker-osx -- Daniela Martín (She/Her) | <https://www.wizeline.com/> Site Reliability Engineer III daniela.mar...@wizeline.com Amado Nervo 2200, Esfera P6, Col. Ciudad del Sol, 45050 Zapopan, Jal. Follow us Twitter <https://twitter.com/wizelineglobal> | Facebook <https://www.facebook.com/WizelineGlobal> | Instagram <https://www.instagram.com/wizelineglobal/> | LinkedIn <https://www.linkedin.com/company/wizeline> Share feedback on Clutch <https://clutch.co/review/submit/375119> -- *This email and its contents (including any attachments) are being sent to you on the condition of confidentiality and may be protected by legal privilege. Access to this email by anyone other than the intended recipient is unauthorized. If you are not the intended recipient, please immediately notify the sender by replying to this message and delete the material immediately from your system. Any further use, dissemination, distribution or reproduction of this email is strictly prohibited. Further, no representation is made with respect to any content contained in this email.*