Bring your own machine
GitHub-hosted runners are convenient: always fresh, always patched, no upkeep. But some jobs need what they cannot give: a GPU, far more memory, a database inside your private network, or software that is painful to install. For those jobs you can register your own machine as a self-hosted runner.