{"repo":"framna-dk/tartelet","free":true,"listed":false,"github":"https://github.com/framna-dk/tartelet","clone":"git clone https://github.com/framna-dk/tartelet.git","description":"⚙️💻 A macOS app that makes it a breeze to manage multiple GitHub Actions runners in ephemeral virtual machines on a single host machine. The benefits are that runners can run in parallel, and each job runs in an isolated environment.","language":"Swift","stars":785,"topics":["github-actions","macos","runner","self-hosted-runner","swift"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"👋 Welcome to Tartelet - a macOS app that launches self-hosted GitHub Actions runners in virtual machines using Tart. Tartelet makes it a breeze to manage up to two GitHub Actions runners in ephemeral virtual machines on a single host machine. The benefits are that runners can run in parallel and each job runs in an isolated environment that is recreated after each GitHub Actions job has finished. - 🚀 Getting Started - 👨‍🔧 How does it work? - 🏎 How is the performance? - 👩‍💻 How can I contribute? - 🤨 Why is it named Tartelet? - 🙏 Acknowledgements 🚀 Getting Started Please refer to the following articles in the wiki to get started with Tartelet. - Installing Tartelet - Configuring Tartelet - Starting the Virtual Machines 👨‍🔧 How does it work? Tartelet uses Tart for managing the virtual machines and Tart which in turn uses Apple's Apple's Virtualization framework. The lifecycle of a GitHub Actions runner managed by Tartelet is as follows: 1. Tartelet uses Tart to clone a virtual machine. 2. The virtual machine is booted. 3. After the machine is booted, a setup script is being run. The script downloads the newest version of GitHub's runner application and registers the runner on the GitHub organization. 4. The runner listens for a job and executes it. 5. After executing the job, the runner automatically removes itself from the GitHub organization. 6. The virtual machine is shutdown. 7. Tartelet uses Tart to delete the virtual machine. After the last step the process sta","default_branch":null,"files":null,"tree":[],"storefront":"/r/framna-dk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/framna-dk/tartelet/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}