explaingit

cirruslabs/tart

5,652SwiftAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

Tart is a toolset for building, running, and managing macOS and Linux virtual machines on Apple Silicon Macs, optimized for CI/CD pipelines and powered by Apple's native virtualization framework.

Mindmap

mindmap
  root((Tart))
    VM Management
      Build VM images
      Run VMs
      Share via OCI registry
    Apple Silicon
      macOS 13 required
      Native virt framework
      Near-native performance
    CI Integration
      GitHub Actions runners
      Cirrus Runners service
      Automated pipelines
    Image Distribution
      OCI container registry
      Docker-compatible
      Packer plugin
    Setup
      Homebrew install
      25GB base image
      Three-command start
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run macOS or Linux VMs on Apple Silicon for automated build and test pipelines

USE CASE 2

Share and distribute VM images through OCI-compatible container registries

USE CASE 3

Replace or supplement GitHub Actions runners with faster cheaper Apple Silicon runners

USE CASE 4

Automate VM image creation using the Packer plugin

Tech stack

SwiftApple Virtualization FrameworkOCI RegistryHomebrewPackermacOSLinux VMs

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Apple Silicon Mac with macOS 13 Ventura or later. Install via Homebrew, then pull a base image (~25GB download). Three-command quickstart available in README.

Not mentioned in the explanation.

In plain English

Tart is a toolset for building, running, and managing virtual machines on Apple Silicon Macs. It supports both macOS and Linux VMs and is built primarily for use in automated build and test pipelines, though it can be used for other automation tasks as well. It requires macOS 13.0 (Ventura) or later on an Apple Silicon device. Virtual machines in Tart run using Apple's own virtualization framework, which gives them performance close to running natively on the hardware. You can store and share VM images through any container registry that uses the OCI standard, the same kind used for Docker images. There is also a plugin for a tool called Packer that can automate the creation of new VM images. Tart is designed to integrate with CI systems, which are tools that automatically build and test software when code changes. The project powers a commercial service called Cirrus Runners, which provides faster and cheaper alternatives to the default runners offered by GitHub Actions. Several well-known companies are listed as users of Tart in their internal setups, including Atlassian, Figma, and Expo. Installing and running a VM is straightforward. The README shows a three-command sequence: install Tart via Homebrew, download a base macOS image from a container registry, and run it. The first download is around 25 GB. Full documentation is available at tart.run, and there is a GitHub Discussions section for questions. The project is also available through AWS Marketplace.

Copy-paste prompts

Prompt 1
I have Tart installed on an Apple Silicon Mac. Help me write a script to pull a macOS base image, clone it, and run a build pipeline inside the VM.
Prompt 2
Using Tart and Packer, help me create an automated workflow to build a custom macOS VM image with specific tools pre-installed.
Prompt 3
Help me configure Tart as a self-hosted GitHub Actions runner replacement using Cirrus Runners, including the YAML workflow file.
Prompt 4
I want to push a Tart VM image to an OCI-compatible container registry. Walk me through tagging and pushing the image so my team can share it.
Open on GitHub → Explain another repo

← cirruslabs on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.