What is Tartelet and how does it work?
mainTartelet is a macOS application designed to manage up to two self-hosted GitHub Actions runners in ephemeral virtual machines. It uses Tart and Apple's Virtualization framework to provide isolated environments for each job.
Runner Lifecycle
- Clone: Tartelet uses Tart to clone a virtual machine.
- Boot: The virtual machine is started.
- Setup: A setup script runs to download the latest GitHub runner application and register it with your GitHub organization.
- Execute: The runner listens for and executes a GitHub Actions job.
- Cleanup (Runner): After the job, the runner automatically removes itself from the GitHub organization.
- Shutdown: The virtual machine is shut down.
- Deletion: Tartelet uses Tart to delete the virtual machine.
This cycle ensures that every job runs in a fresh, isolated environment that is recreated after completion.