macOS and Linux VMs on Apple Silicon to use in CI and other automations
Go to file
Nikolay Edigaryev ababe8cefc
tart pull: choose across multiple VM images to deduplicate against (#862)
This is accomplished by saving the OCI VM image manifests on "tart pull"
in "manifest.json" file and then using them on successive "tart pull"'s
to find the best candidate that results in the most de-duplication,
measured in bytes.
2024-07-15 18:36:01 +04:00
.ci Lowercase `tart.app` (#751) 2024-03-11 12:23:12 -04:00
.github Added Code Owners (#328) 2022-11-17 22:57:12 -05:00
Resources Added Figma as a user (#858) 2024-07-10 15:06:01 +00:00
Sources/tart tart pull: choose across multiple VM images to deduplicate against (#862) 2024-07-15 18:36:01 +04:00
Tests/TartTests Fixed Swift Warning (#787) 2024-04-11 19:53:10 +04:00
benchmark Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00
docs Jumping through the hoops: SSH jump host functionality in Orchard (#844) 2024-06-20 22:39:41 +00:00
integration-tests integration-tests: downgrade "requests" package to 2.31.0 (#829) 2024-05-21 13:35:33 +00:00
scripts Fancy Social Cards (#830) 2024-05-22 16:07:08 +04:00
.cirrus.yml Fixed GoReleaser 2.0.0 (#839) 2024-06-05 19:09:56 +04:00
.editorconfig Update dependencies and styles (#12) 2022-03-24 18:54:49 +03:00
.gitignore Fancy Social Cards (#830) 2024-05-22 16:07:08 +04:00
.goreleaser.yml Generate shell completions by calling tart.app executable (#775) 2024-04-03 01:22:52 +02:00
.swiftformat Reformat code idents and introduce the SwiftFormat linter (#339) 2022-11-29 15:56:13 +00:00
CONTRIBUTING.md Add CONTRIBUTING.md? (#575) 2023-08-03 13:10:34 -04:00
LICENSE Relicensed under Fair Source License (#415) 2023-02-28 12:22:25 -05:00
Package.resolved tart pull: retry VM pull with exponential backoff (#788) 2024-04-12 21:32:03 +04:00
Package.swift tart pull: retry VM pull with exponential backoff (#788) 2024-04-12 21:32:03 +04:00
README.md Added Figma as a user (#858) 2024-07-10 15:06:01 +00:00
gon.hcl Build x86 binary (#716) 2024-01-26 13:09:05 +00:00
mkdocs.yml Fancy Social Cards (#830) 2024-05-22 16:07:08 +04:00

README.md

Tart is a virtualization toolset to build, run and manage macOS and Linux virtual machines (VMs) on Apple Silicon. Built by CI engineers for your automation needs. Here are some highlights of Tart:

  • Tart uses Apple's own Virtualization.Framework for near-native performance.
  • Push/Pull virtual machines from any OCI-compatible container registry.
  • Use Tart Packer Plugin to automate VM creation.
  • Easily integrates with any CI system.

Tart powers Cirrus Runners service — a drop-in replacement for the standard GitHub-hosted runners, offering 2-3 times better performance for a fraction of the price.

Many companies are using Tart in their internal setups. Here are a few of them:

Note: If your company or project is using Tart please consider sharing with the community.

Usage

Try running a Tart VM on your Apple Silicon device running macOS 13.0 (Ventura) or later (will download a 25 GB image):

brew install cirruslabs/cli/tart
tart clone ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base
tart run sonoma-base

Please check the official documentation for more information and/or feel free to use discussions for remaining questions.