GitHub Actions Tutorial — Self-Hosted Runners

less than 1 minute read

Chapter 12 — Self-Hosted Runners

GitHub-hosted runners are convenient, but sometimes you need more: faster hardware, GPU access, private network connectivity, or specific software that’s expensive to install on every run. Self-hosted runners let you bring your own machines — physical servers, VMs, or containers — and connect them to GitHub Actions.


What You’ll Learn

  • Setting up self-hosted runners on Linux, macOS, and Windows
  • Organizing runners with groups and labels
  • Autoscaling runners with Actions Runner Controller (ARC) on Kubernetes
  • Using ephemeral runners for clean environments
  • Security considerations for self-hosted runners

Topics Covered

1. Setup Runners

Install and configure the runner application on your machines.

Read: Setup Runners →


2. Runner Groups & Labels

Organize runners into groups and assign labels for targeted job routing.

Read: Runner Groups & Labels →


3. Autoscaling (ARC)

Scale runners dynamically on Kubernetes with Actions Runner Controller.

Read: Autoscaling (ARC) →


4. Ephemeral Runners

Run each job on a fresh runner instance for maximum isolation.

Read: Ephemeral Runners →


5. Security Considerations

Protect your infrastructure from malicious workflows.

Read: Security Considerations →


Practice

Test your understanding with hands-on exercises.

Practice Exercises →


← Previous: Chapter 11: Custom Actions

Next: Chapter 13: Deployments →

Updated: