Move to Latchkey with a One-Line runs-on Change
No new YAML to learn, no pipeline rewrite. You change runs-on: and your workflow runs on a Latchkey managed runner.
Latchkey runs your existing GitHub Actions workflows unchanged. The only edit that migrates a job is its runs-on: label - your steps, actions, secrets, environments, and caching all stay identical.
The one line that changes
.github/workflows/ci.yml
jobs:
test:
runs-on: latchkey-small # was: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm testWhat stays exactly the same
- Every
run:anduses:step. - All secrets, variables, and environments.
- Your matrices,
needs:, and conditions. - Caching - keep
actions/cacheas-is (Latchkey adds caching on top).
Why it is safe
- It is per-job: revert one label to roll back instantly.
- You can A/B a single job before moving the fleet.
- No change to your repo structure or workflow logic.
What you gain
- Roughly 69% lower per-minute cost than GitHub-hosted runners.
- Warm pools remove queue time - jobs start almost immediately.
- Self-healing detects, fixes, and auto-retries transient and mechanical failures.
- Zero ops: no agents, autoscalers, or controllers to patch and babysit.
Key takeaways
- The migration is literally one line per job.
- Everything else in the workflow is untouched.
- Roll back by reverting the label.
Related guides
Migrate to Latchkey in 10 MinutesMove your GitHub Actions to Latchkey managed runners in about 10 minutes: connect the app, swap a label, and…
Migrate from Self-Hosted to Managed Runners (Drop the Ops)Retire self-hosted GitHub Actions runners for managed runners: keep the same workflows, drop the autoscaler a…
GitHub Actions Cost Calculator - Estimate & Cut Your CI BillFree GitHub Actions cost calculator: enter your monthly CI minutes and runner size to see your current bill a…
GitHub-Hosted vs Self-Hosted vs Managed Runners (2026)GitHub-hosted vs self-hosted vs managed GitHub Actions runners compared on cost, speed, maintenance, and reli…