Skip to content
Latchkey

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 test

What stays exactly the same

  • Every run: and uses: step.
  • All secrets, variables, and environments.
  • Your matrices, needs:, and conditions.
  • Caching - keep actions/cache as-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

See what you would save - Latchkey managed runners with self-healing. Start free →