Skip to content

Add a provider

Teach RelayRunner to recognize another runner service, with a pull request.

The dashboard recognizes runner services by their runs-on labels, so it can show where every job ran and what it cost. The list lives in code and changes by pull request. If a service you use shows up as Other, you can add it.

  1. The provider’s facts in packages/providers/src/index.ts: add an id to PROVIDER_IDS and an entry to PROVIDERS with its name, a one-line summary, how its labels look, an example runs-on, and links to its docs and dashboard. The dashboard and these docs both read from here.
  2. Its list prices, if it publishes them, in packages/providers/src/prices.ts, with a comment naming the price page. Prices are estimates for the Providers page, so leave out plan allowances and discounts.
  3. How to match its labels in LABEL_MATCHERS in the same file, with its id in HOSTED_PROVIDER_IDS. Most services use a prefix, such as depot-. Add a case to packages/providers/src/index.test.ts.
  4. Its logo: an SVG in apps/site/public/providers/, and the icon and brand color the dashboard uses in apps/web/src/components/providers.tsx and apps/web/src/styles.css.

Run pnpm check from the repo root before you open the pull request. The repo’s README covers setup.

A provider in HOSTED_PROVIDER_IDS is also a step in the runner order. To route to it, add an input of the same name to the relay workflow in relayrunner/actions too.