Hosted providers
Routing jobs to Blacksmith, Depot, Namespace, WarpBuild, Ubicloud and RunsOn.
Hosted providers run GitHub Actions jobs on their own machines, under your account with them. Route jobs to any of these when your own machines are busy, or ahead of GitHub-hosted runners.
Set it up
Section titled “Set it up”- Install the provider’s GitHub App on the organization and set up your account with them. A routed job only gets one of the provider’s labels. The provider’s App runs it and bills you.
- Add the provider to your workspace’s runner order on the Router page.
- Name one of its labels in the relay input of the same name:
relay-test: uses: relayrunner/actions/.github/workflows/relay.yml@v1 with: machine: self-hosted depot: depot-ubuntu-24.04 github: ubuntu-latestEach job has its own relay, so each job picks its own size, such as blacksmith-2vcpu-ubuntu-2404 for a lint job and blacksmith-4vcpu-ubuntu-2404 for tests. relayrunner init keeps a job’s existing provider label as its fallback, so a job already on a hosted provider stays there whenever no machine is free.
Where it sits in the order
Section titled “Where it sits in the order”A provider’s step always takes a job that names one of its labels. There’s no way to see a provider’s capacity, so steps below it only run for jobs that don’t name one. A common order is your machines, then a hosted provider, then GitHub-hosted.
Unlike machines, hosted providers also run public repos’ jobs.
The providers
Section titled “The providers”| Provider | Relay input |
|---|---|
| Blacksmith | blacksmith |
| Depot | depot |
| Namespace | namespace |
| WarpBuild | warpbuild |
| Ubicloud | ubicloud |
| RunsOn | runs-on |
Hosted runners for GitHub Actions.
Hosted runners for GitHub Actions.
Hosted runners for GitHub Actions, sized by runner profile.
Hosted runners for GitHub Actions.
Hosted runners for GitHub Actions.
- Labels
-
ubicloud, ubicloud-* - Example
-
runs-on: ubicloud-standard-2 - List price
- $0.00125/min
- Links
- Dashboard
Runners started in your own AWS account.
- Labels
-
runs-on=<run id>/runner=<type> - Example
-
runs-on: runs-on=${{ github.run_id }}/runner=2cpu-linux-x64 - Links
- Docs
RunsOn’s label carries the run’s id, so write it as an expression: runs-on: runs-on=${{ github.run_id }}/runner=2cpu-linux-x64.
Good to know
Section titled “Good to know”- Provider-only actions in a job, such as Blacksmith’s cache actions, won’t work on your machines or GitHub.
initwarns about Blacksmith’s.