Skip to content

Instantly share code, notes, and snippets.

@andyfeller
Created February 28, 2023 15:56
Show Gist options
  • Save andyfeller/5aae1ba1f2547d08842a0f6cba4f3d2f to your computer and use it in GitHub Desktop.
Save andyfeller/5aae1ba1f2547d08842a0f6cba4f3d2f to your computer and use it in GitHub Desktop.
GitHub-hosted versus self-hosted GitHub runners
Area \ Type GitHub-hosted Self-hosted
Docs GitHub-hosted self-hosted
High-level differences
  • Receive automatic updates for the operating system, preinstalled packages and tools, and the self-hosted runner application.
  • Are managed and maintained by GitHub.
  • Provide a clean instance for every job execution.
  • Use free minutes on your GitHub plan, with per-minute rates applied after surpassing the free minutes.
  • Receive automatic updates for the self-hosted runner application only, though you may disable automatic updates of the runner. For more information about controlling runner software updates on self-hosted runners, see "Autoscaling with self-hosted runners." You are responsible for updating the operating system and all other software.
  • Can use cloud services or local machines that you already pay for.
  • Are customizable to your hardware, operating system, software, and security requirements.
  • Don't need to have a clean instance for every job execution.
  • Are free to use with GitHub Actions, but you are responsible for the cost of maintaining your runner machines.
OS support ubuntu-22/20/18, macOS-12/11/10, windows-2022/2019 varies based on your expertise in building and packaging VMs or containers to support use cases, requires time and effort to maintain
Languages 22+ varies based on time and effort to provide variety of options and maintain
Package Managers 13+ varies based on time and effort to provide variety of options and maintain
Tools 60+ including automation, builders, transformers, cloud CLIs varies based on time and effort to provide variety of options and maintain
Libraries many varies based on time and effort to provide variety of options and maintain
Instance Types
  • Standard: 2 vcpu / 7 GB RAM / 14 GB storage
  • Larger: 4 vcpu / 16 GB RAM / 150 GB storage
  • Larger: 8 vcpu / 32 GB RAM / 300 GB storage
  • Larger: 16 vcpu / 64 GB RAM / 600 GB storage
  • Larger: 32 vcpu / 128 GB RAM / 1200 GB storage
  • Larger: 64 vcpu / 256 GB RAM / 2040 GB storage
varies based on underlying infrastructure and availability
Administrative overhead
  • Managing policies and runner groups
  • Reviewing and optimizing spend
  • Firewall / proxy access
  • Managing policies and runner groups
  • Reviewing and optimizing spend
  • Managing underlying infrastructure including access updates
  • Managing self-hosted runner orchestration solution
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment