How to Set Up Ubicloud Runners for GitHub Actions
Adopting Ubicloud runners is mostly two things: connecting the GitHub App and changing one runs-on label.
This guide follows Ubicloud's own quickstart docs. According to Ubicloud, you sign up, connect your repo with the Ubicloud Managed Runners GitHub App, and change one line in your workflow file to point jobs at a Ubicloud runner. Verify the current steps and label names on Ubicloud's docs, since they can change.
Steps
- Create a Ubicloud account at console.ubicloud.com and add billing details (Ubicloud's docs note a card is required to prevent abuse).
- In the GitHub Runners section, connect your GitHub account and install the Ubicloud Managed Runners GitHub App when prompted.
- Grant the app access to the repositories you want to run on Ubicloud runners.
- In your workflow, change the
runs-onlabel fromubuntu-latestto a Ubicloud label such asubicloud-standard-2. - Merge the change; per Ubicloud's docs, GitHub Actions then starts scheduling those jobs on Ubicloud runners.
Workflow
jobs:
build:
# Was: runs-on: ubuntu-latest
runs-on: ubicloud-standard-2
steps:
- uses: actions/checkout@v4
- run: ./ci.shChoosing a runner size
According to Ubicloud's docs, ubicloud-standard-2 starts a VM with the same vCPU and memory as paid GitHub runners, and larger labels such as ubicloud-standard-8 give more power for faster pipelines. Ubicloud's docs also state that native x64 and arm64 Linux runners are available; check their docs for the exact arm label names, as the quickstart does not spell them out. Verify current sizes and pricing on Ubicloud's pricing page.
Gotchas
- If your workflows reach services behind a firewall, Ubicloud's docs say you may need to allowlist their IP ranges (published at api.ubicloud.com/ips-v4).
- Runner label names are the main thing to get right; a typo in the label leaves the job queued waiting for a runner that never matches.
- The same one-line
runs-onswap works for Latchkey, whose managed runners add self-healing so transient failures auto-retry instead of failing the build.