Skip to content
Latchkey

Migrate Flaky Pipelines to Self-Healing Runners

Most CI flakiness is mechanical - a network blip, a transient registry error, a runner hiccup. Self-healing runners catch those and retry automatically.

Flaky pipelines waste engineer time on manual re-runs and erode trust in CI. Latchkey self-healing detects transient and mechanical failures at the runner level and retries them, so a recoverable blip does not turn your build red. Migration is the usual one-line runs-on: swap.

What self-healing handles

  • Transient network and DNS failures during dependency installs.
  • Intermittent registry / artifact-store errors.
  • Runner-level hiccups that have nothing to do with your code.
  • Other mechanical failures that a plain re-run would have fixed anyway.

Migrate a flaky job

  1. Identify the pipelines you re-run most often by hand.
  2. Swap runs-on: to a Latchkey label on those jobs.
  3. Let self-healing absorb the transient failures and watch the manual re-run rate drop.
  4. Use the healing analytics to see what got auto-fixed and how often.
.github/workflows/ci.yml
jobs:
  test:
    runs-on: latchkey-medium   # self-healing absorbs transient failures
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test

Gotchas

  • Self-healing handles mechanical flakiness, not genuine logic bugs - a real test failure still fails (correctly).
  • Use the analytics to find tests that are flaky in your code and fix those at the source.
  • Do not treat auto-retry as a license to ignore a test that fails on its own merits.

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

  • Most flakiness is mechanical and recoverable.
  • Self-healing auto-retries transient failures so green stays green.
  • Analytics surface real code-level flakiness to fix at the source.

Related guides

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