Creating a self-hosted runner
The workflow examples used in previous chapters include jobs that ran on GitHub-hosted runners. As you read in Chapter 2, Deep Diving into GitHub Actions, GitHub-hosted runners can be convenient because GitHub maintains the VMs built to host those runners. However, those virtual environments are built using specific hardware and software.
If your workflows require a different architecture, GitHub-hosted runners will likely not be suitable. For example, if you run jobs that demand higher amounts of memory or processing power, you can build a host machine with those specifications to host the runner application. If your workflow requires tests to be run on operating systems unsupported by GitHub-hosted runners, or if you need to use packages, tools, or software installed in your network, self-hosting the GitHub Actions runner application can be a great option. You can use a host machine that is physical or virtual, hosted on-premises, in containers,...