Skip to content
Latchkey

Migrate from GitHub Larger Runners to Latchkey

GitHub larger runners give heavy jobs more cores natively. If the per-minute bill is the pain, moving those jobs to Latchkey is mostly a runs-on change.

GitHub larger runners are first-party managed VMs with more cores, RAM, and disk than standard runners. According to GitHub's docs, they are billed at a per-minute rate and included minutes cannot be used for them. Latchkey runs the same jobs on managed runners reached by a runs-on change, typically at a lower per-minute rate, and adds self-healing so transient failures retry automatically. Here is what a migration looks like and where each option is stronger. Verify current GitHub pricing on their site, as vendor pricing changes.

What changes when you migrate

GitHub larger runnersLatchkey
Runner modelFirst-party managed VMsThird-party managed runners
How you targetRunner group + custom labelruns-on label swap
Included/free minutes applyNo (per GitHub docs)Included free tier
Self-healing transient failuresNoYes (auto detect/fix/retry)
Runner-group / label managementYou manage itNot required
GitHub-native integrationDeepest (built in)Standard runner integration

What stays the same

Your workflow YAML, actions, secrets, and job graph are unchanged. You are still running GitHub Actions; you are only changing which runner the heavy jobs land on.

What changes

  • Targeting: instead of a runner-group name plus a custom larger-runner label, you point runs-on at a Latchkey label.
  • Billing: larger runners bill per minute with no included-minute allowance (per GitHub docs). Latchkey applies its own pricing with an included free tier.
  • Reliability: transient and mechanical failures (OOM kills, disk-full, registry timeouts) self-heal and retry on Latchkey instead of failing the run.

Where GitHub larger runners remain the stronger fit

If you want zero third-party involvement, the deepest GitHub integration, or features tied to GitHub Enterprise Cloud such as static IP ranges for larger runners, staying on first-party larger runners is a legitimate choice. The trade-off is a higher per-minute rate and no self-healing.

A safe migration path

  • Pick one heavy workflow currently on a larger runner.
  • Duplicate it and swap runs-on to a Latchkey label on the copy.
  • Run both for a week and compare wall-clock time, per-minute cost, and re-run count.
  • Roll out the rest once the numbers hold for your real builds.

The verdict

If your heavy jobs run often and the larger-runner per-minute bill is the pain, migrating those jobs to Latchkey usually lowers cost and removes flaky re-runs while keeping your workflows intact. If native integration and first-party billing matter more than per-minute price, GitHub larger runners are a reasonable place to stay. Start free and compare against your real builds.

Frequently asked questions

Do I have to rewrite my workflows to migrate?
No. The main change is runs-on. Your steps, actions, and secrets stay the same. According to GitHub's docs, larger runners are targeted by runner group and custom label; on Latchkey you target a label instead. Source: https://docs.github.com/en/actions/using-github-hosted-runners/using-larger-runners/running-jobs-on-larger-runners.
Will I lose the included free GitHub Actions minutes by using larger runners today?
According to GitHub's billing docs, included minutes cannot be used for larger runners, so they are billed per minute from the start. Verify current pricing on GitHub. Sources: https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions and https://docs.github.com/en/billing/reference/actions-runner-pricing.

Related guides

References

Cut runner spend by up to 70% with Latchkey managed runners and self-healing. Start free → 30-day trial · No credit card