← All integrations

WarpBuild integration

Route jobs between WarpBuild, your machines and GitHub.

WarpBuild runs GitHub Actions jobs on its own machines, under your WarpBuild account. Jobs go to your machines first and to WarpBuild when they're busy. You change the order from the dashboard, not your workflows.

Get started with GitHub

With routing

WarpBuild on its own, or in your runner order

WarpBuild on its own

  1. Each workflow names a WarpBuild label, so every job runs on WarpBuild.
  2. Your own machines sit idle while WarpBuild bills you.
  3. Trying another host means editing every workflow again.
  4. Each host shows its own job times in its own dashboard.

In your runner order

  1. Jobs run on your machines first, and on WarpBuild when your machines are busy.
  2. GitHub-hosted runners stay as the fallback after WarpBuild.
  3. Move WarpBuild up, down or out from the dashboard. No workflow edits.
  4. The Performance page compares WarpBuild's job times with your machines and GitHub-hosted runners.

Setup

How to set up WarpBuild

  1. Set up your WarpBuild account

    Sign up for WarpBuild and install its GitHub App on your organization.

  2. Add WarpBuild to your runner order

    On the Router page, put WarpBuild where you want it. A common order is your machines, then WarpBuild, then GitHub-hosted.

  3. Add relays to your jobs

    Run npx relayrunner init in your repo. It adds a relay to each job you pick and keeps the label the job uses today as its fallback.

.github/workflows/ci.yml
jobs:
  relay-test:
    uses: relayrunner/actions/.github/workflows/relay.yml@v1
    with:
      machine: self-hosted
      warpbuild: warp-ubuntu-latest-x64-2x
      github: ubuntu-latest
  test:
    needs: relay-test
    runs-on: ${{ needs.relay-test.outputs.runner }}

The relay

Name a WarpBuild label in the relay.

The relay answers in about a second and uses no minutes. It returns the label of the first runner in your order that can take the job, and the job runs there.

Read how routing works →

Details

WarpBuild at a glance

What it is
Hosted runners for GitHub Actions.
Labels
warp-*
Example
runs-on: warp-ubuntu-latest-x64-2x
Relay input
warpbuild
Links

List prices

Linux x64 $0.002/min per vCPU
Linux Arm $0.0015/min per vCPU
Windows $0.004/min per vCPU
macOS $0.01333/min per vCPU

As of November 2026, from WarpBuild's price page. WarpBuild bills you directly, so your plan and credits apply.

See what WarpBuild billed

Paste a read-only api key in Settings → Providers. The dashboard then shows what each job cost, and daily spend.

Common questions

How is this different from using WarpBuild directly?

Used directly, every job that names a WarpBuild label runs on WarpBuild. In a runner order, jobs go to your own machines first and to WarpBuild only when they're busy, and you can move WarpBuild up, down or out from the dashboard without editing workflows.

Do I have to change my workflows to use WarpBuild?

Once. Run npx relayrunner init in your repo and it adds a relay to each job you pick. After that, you move WarpBuild up or down in the dashboard.

Which jobs go to WarpBuild?

Jobs whose relay names a WarpBuild label, when nothing above WarpBuild in your runner order is free.

Who bills me for WarpBuild?

WarpBuild does. Jobs run under your own WarpBuild account, so your plan, credits and discounts still apply.

Do public repos run on WarpBuild?

Yes. Your own machines skip public repos' jobs, but hosted providers like WarpBuild run them.

Add WarpBuild to your runner order.

Add relays once. After that, change the order in the dashboard.

  1. 1. In your repo, add relays to the jobs you want to route
    npx relayrunner init
  2. 2. Optionally, turn this computer into a runner
    npx relayrunner connect