Self-hosted runners
If you need more control than GitHub-hosted runners allow for hardware, operating systems, software, and network access, you can host the runners yourself. Self-hosted runners can be installed on physical machines, virtual machines, or in a container. They can run on-premises or in any public cloud environment.
Self-hosted runners allow for easy migration from other build environments. If you already have automated builds, you just install the runner on the machines and your code should build. But if your build machines are still the ped-like machines that are manually maintained – sometimes positioned physically beyond the desk of a developer – then this is not a permanent solution. Keep in mind that building and hosting a dynamically scaling environment needs expertise and costs money, whether it is hosted in the cloud or on-premises. So, if you can use hosted runners, it is always the easier option. However, if you need a self-hosted solution...