Why Use GitHub Actions with MacStadium Hardware?
GitHub Actions, first released in November 2019, is a free, modern (YAML based), CI/CD system that is baked into GitHub. To make basic use of GitHub Actions, you will only need a repository hosted on GitHub.
GitHub Actions alone will allow your team to run CI jobs directly from your team’s repository, which denotes a clear shift away from third-party CI tools such as Jenkins. However, this leaves too much to chance for most security-focused teams, as Github Actions workflows – in their simplest form – run on a shared bank of servers that spin up VMs on which to build code, run tests, and so on.
Much to the credit of the GitHub team, this is not the only way to use GitHub Actions. In anticipation of teams needing greater control over the environment in which their code builds and is tested, the GitHub team has also provided Self-Hosted Runners – i.e. build machines that you can host elsewhere according to your specific needs.
For the subset of teams that both require additional environmental control and that are also targeting macOS or iOS CI, MacStadium’s private clouds are an excellent option for setting up GitHub Self-Hosted Runners. This is largely because of two factors; MacStadium takes security extremely seriously, and there is relatively little technical overhead for your team to achieve a production-ready CI solution with GitHub Actions and a MacStadium private cloud.
Static or Ephemeral Builds
Once your team has settled on the above setup, you may well find yourself asking whether you are going to target static or ephemeral builds – that is, builds that run on the same VM time and again, or builds that run on a fresh VM that has been spun up for each individual workflow.
Both approaches are possible with GitHub Actions Self-Hosted Runners on MacStadium hardware.
Setting up for static builds is quite a bit simpler, as the Self-Hosted Runner will only need to be registered with GitHub one time. However, the GitHub API has endpoints that will allow your team to programmatically register a Self-Hosted Runner dynamically upon VM startup.
Still looking for more GitHub goodness? Don’t forget to register for our webinar, Simple, Secure iOS CI with GitHub Actions and Dedicated MacStadium Hardware, on December 2nd to take a deeper give with us and make the most out of your Mac mini at MacStadium.