macos-image-templates icon indicating copy to clipboard operation
macos-image-templates copied to clipboard

macOS Packer Templates for Cirrus CI

Repository with Packer templates to build Tart VMs to use with Cirrus CI.

  • macos-{monterey,ventura}-vanilla image nothing pre-installed
  • macos-{monterey,ventura}-base image has only brew pre-installed
  • macos-{monterey,ventura}-xcode:N image is based of macos-{monterey,ventura}-base and has Xcode N with Flutter pre-installed

See a full list of VMs available on Cirrus CI here.

Building Vanilla Image

First, create a ventura-vanilla VM from the latest available IPSW with following command:

tart create --from-ipsw=latest --disk-size=25 ventura-vanilla

Start the VM and use UI to change some settings:

tart run ventura-vanilla
  1. Disable Lock Screen and Screen Saver. Preferences -> Lock Screen -> disable first three settings.
  2. Enable Auto-Login. Users & Groups -> Automatic log in as... -> admin.
  3. Allow SSH. General -> Sharing -> Remote Login & Screen Sharing
  4. Display -> Advanced -> Prevent from sleeping
  5. Open Safari. Preferences -> Advanced -> Show Developer menu. Develop -> Allow Remote Automation.
  6. Sisable SIP. Run tart run --recovery ventura-vanilla -> Options -> Utilities menu -> Terminal -> csrutil disable.
  7. Run sudo visudo in Terminal, find %admin ALL=(ALL) ALL add admin ALL=(ALL) NOPASSWD: ALL to allow sudo without a password.

Shutdown macOS.

Building Base Image

packer build templates/base.pkr.hcl

Building Xcode Images

packer build -var xcode_version="14-beta-5" templates/xcode.pkr.hcl