Skip to content
Latchkey

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-on label from ubuntu-latest to a Ubicloud label such as ubicloud-standard-2.
  • Merge the change; per Ubicloud's docs, GitHub Actions then starts scheduling those jobs on Ubicloud runners.

Workflow

.github/workflows/ci.yml
jobs:
  build:
    # Was: runs-on: ubuntu-latest
    runs-on: ubicloud-standard-2
    steps:
      - uses: actions/checkout@v4
      - run: ./ci.sh

Choosing 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-on swap works for Latchkey, whose managed runners add self-healing so transient failures auto-retry instead of failing the build.

Related guides

See what you would save - Latchkey managed runners with self-healing. Start free →