GitHub Actions has quickly become a favorite for most organizations and projects as they are already using GitHub repositories for code version control. It’s also easy to use and simple to get up and running. However, there is a bit of confusion around setting up and using Github Actions Self-hosted macOS VMs. Fortunately, at Veertu we’re committed to providing integrations and plugin for the various CI/CD platforms and tools that exist. This is why we’re excited to announce our own beta Anka VM GitHub Action! You can find it on the official GitHub Action Marketplace.
Within the Anka VM GitHub Action, we’ve included what we believe are the features needed for the majority of use-cases in modern CI/CD systems:
- Ability to set both the Anka Template name or UUID and Anka Template Tag you wish to use, per step.
- Pass options to anka run (inherit environment variables from the host into VM, wait for networking, time to sync, use a different working directory inside of the VM, and disable host <-> guest mounting) and anka start (attach your USB devices to the VM) commands.
- Artifact uploading
- STDOUT and STDERR are combined into an output that you can parse for subsequent steps/tests.
- Proper job cancellation and failure handling/cleanup with Post steps.
It’s important to note that our Anka VM GitHub Action cannot be used with the GitHub hosted macOS hardware. GitHub hosted macOS hardware does not include or license the Anka Virtualization product. Fortunately, GitHub provides self-hosted runner software you can install onto your local or CI/CD macOS machine that will process jobs for your project’s repo or for the entire organization in GitHub. You then install the Anka Build Cloud and license it on that same machine. Visit https://veertu.com/anka-build-trial/ to obtain your free trial of Anka Build Cloud.
We expect customer and internal testing over the coming months to expose weaknesses and missing features. While it is in beta, please contact [email protected] or open a GitHub issue with any comments or concerns.