macOS and Linux VMs on Apple Silicon to use in CI and other automations
Go to file
Tor Arne Vestbø 68b3557747
Hide dock icon in no graphics mode (#653)
* Package tart binary into app bundle when running via run-signed.sh

This is what happens when installing the tart application package
as built by CI. We should stay as close as possible to the install
situation during development, so that we get bug/behavior parity.

For example, an app bundle behaves differently than a standalone
executable when it comes to bringing up a Dock icon for the app.

* Set activation policy to prohibited when starting in no graphics mode

This ensures that the Dock icon is hidden.
2023-11-10 09:05:20 -05:00
.ci Revert "Revert pkg (#462)" 2023-04-06 10:36:07 -04:00
.github Added Code Owners (#328) 2022-11-17 22:57:12 -05:00
Resources tart-dev.entitlements: add "com.apple.security.get-task-allow" (#642) 2023-11-01 14:35:55 +04:00
Sources/tart Hide dock icon in no graphics mode (#653) 2023-11-10 09:05:20 -05:00
Tests/TartTests Improved format for fast and efficient pulls from remote OCI-registry (#589) 2023-09-20 10:14:05 -04:00
docs fix docs to specify inside VM for gitlab runner (#649) 2023-11-08 09:05:19 -05:00
integration-tests Document XL Cirrus Runners (#613) 2023-09-28 15:53:13 -04:00
scripts Hide dock icon in no graphics mode (#653) 2023-11-10 09:05:20 -05:00
.cirrus.yml Don't install Sentry CLI via brew (#648) 2023-11-07 16:23:20 +00:00
.editorconfig Update dependencies and styles (#12) 2022-03-24 18:54:49 +03:00
.gitignore Move FAQ to documentation website (#383) 2023-01-18 11:58:21 -05:00
.goreleaser.yml Support wildcards in `credHelpers` (#592) 2023-08-28 11:37:49 -04: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 PIDLock: check open(2) error (#538) 2023-07-04 15:22:25 +00:00
Package.swift Support wildcards in `credHelpers` (#592) 2023-08-28 11:37:49 -04:00
README.md Document XL Cirrus Runners (#613) 2023-09-28 15:53:13 -04:00
gon.hcl Use release configuration for binaries (#453) 2023-03-29 09:58:41 -04:00
mkdocs.yml Tart 2.0.0 blog post (#601) 2023-09-20 10:13:42 -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.

Tart is also adopted by several other automation services:

Many more 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 adding yourself to the list above.

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.