relay.yml inputs
Every input and output of the relay, a reusable GitHub Actions workflow.
The relay is a reusable workflow in relayrunner/actions. Add one in front of each job you want routed.
jobs: relay-test: uses: relayrunner/actions/.github/workflows/relay.yml@v1 with: machine: self-hosted github: ubuntu-latest
test: needs: relay-test runs-on: ${{ needs.relay-test.outputs.runner }}Inputs
Section titled “Inputs”Give one input per provider the job may use. A provider you leave out is never used for this job, even if it’s in your runner order.
| Input | Default | What it is |
|---|---|---|
machine |
none | Comma-separated labels a self-hosted machine must have, all of them. self-hosted accepts any machine. Narrow it with macOS, Linux, ARM64 or X64, such as macOS, ARM64. Ignored for public repos. |
github |
none | One GitHub-hosted label, such as ubuntu-latest or macos-latest. |
blacksmith |
none | One Blacksmith label, such as blacksmith-4vcpu-ubuntu-2404. |
depot |
none | One Depot label, such as depot-ubuntu-24.04. |
namespace |
none | One Namespace label, such as namespace-profile-default. |
warpbuild |
none | One WarpBuild label, such as warp-ubuntu-latest-x64-2x. |
ubicloud |
none | One Ubicloud label, such as ubicloud-standard-2. |
runs-on |
none | One RunsOn label, such as runs-on=${{ github.run_id }}/runner=2cpu-linux-x64. |
Output
Section titled “Output”| Output | What it is |
|---|---|
runner |
The label to put in the next job’s runs-on. |
Requirements
Section titled “Requirements”- The RelayRunner GitHub App is installed on the repo’s owner and connected to a workspace.
- If your organization limits which actions and reusable workflows can run, allow
relayrunner/actions/*.
Versions
Section titled “Versions”@v1 gets fixes and new features without breaking changes. See releases.
Good to know
Section titled “Good to know”- One relay per job. Jobs that share one relay’s output won’t all run. Give each job its own relay.
- It shows as
relay-<job> / RelayRunnerin the workflow run, and finishes in about a second. - No minutes. The relay runs on
runs-on: relayrunner, which needs no runner. Don’t give any runner of your own therelayrunnerlabel, or it may take relays instead.