Ever hit the “Run workflow” button and thought, “My laptop could do this faster”? I did—25 minutes on GitHub-hosted vs. under 5 minutes on my own machine. Yes, seriously. That’s less time than it takes to make good coffee.
How It Works
You install the GitHub Actions Runner on your local machine, register it with your repo, and voilà—you get a new option when running workflows:
- github-hosted (cloud, default)
- self-hosted (your laptop, your rules)
Why Bother with Self-Hosted?
My Android internal release went from ~25 minutes on GitHub-hosted to ~5 minutes on self-hosted. That’s a single espresso vs. a never-ending drip coffee experience.
Where to Start
GitHub’s official docs make it easy—trust me, it’s almost painless:
In a few minutes and with a handful of commands, you’ll be running workflows on your machine, under your control:
name: Android Internal Release
on:
workflow_dispatch:
inputs:
runner_type:
description: 'Choose runner type'
required: true
default: 'github-hosted'
type: choice
options:
- github-hosted
- self-hosted
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-and-deploy:
runs-on: ${{ github.event.inputs.runner_type == 'self-hosted' && 'self-hosted' || 'ubuntu-latest' }}
[...]
Quick Pro/Con Table
| Runner Type | Pros | When to Use |
|---|---|---|
| Self-hosted | Fast, local control | Heavy builds, you want speed |
| GitHub-hosted | No infra to manage, always available | Quick tests, convenience over speed |


TL;DR
Self-hosted runners = 🔥 speed and control. GitHub-hosted = super convenient. Pick based on mood and urgency. Let me know if your coffee breaks just got way shorter. 😉
