macOS VMs

macOS Virtual Machines

It is possible to run macOS Virtual Machines (the same way one can run Linux containers) on the macOS Community Cluster. Simply use osx_instance in your .cirrus.yml files:

osx_instance:
  image: mojave-xcode

task:
  script: echo "Hello World from macOS!"

List of available images

  • mojave-base - vanilla macOS with Brew and Command Line Tools pre-installed.
  • mojave-xcode-10.3 - based of mojave-base with Xcode and couple other packages pre-installed: cocoapods, fastlane, rake and xctool.
  • mojave-xcode-11.2.1 - based of mojave-base with Xcode 11.2.1 GM and couple other packages pre-installed: cocoapods, fastlane, rake and xctool.
  • mojave-xcode-11.2.1-flutter - based of mojave-xcode-11.2.1 with pre-installed Flutter and Android SDK/NDK.

Note that there are couple of aliases available for images:

  • mojave-xcode - point to the latest mojave-xcode-NN image.
  • mojave-flutter - point to the latest mojave-xcode-NN-flutter image.

Please refer to the osx-images repository on how the images were built and don't hesitate to create issues if current images are missing something.

Underlying Technology

Under the hood Cirrus CI is using Anka Cloud hosted on MacStadium for orchestrating macOS VMs. Please refer to the Anka documentation for more details.