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.*

Reply via email to