Skip to content

GitHub

runner.li serves GitHub Actions for repositories on GitHub.com. GitHub Enterprise Server is available on request.

Connect a repository

runner.li uses a GitHub App that you create in your own organization, so you keep control of what it can access.

  1. An owner of your GitHub organization creates a GitHub App:
    • no webhook
    • repository permissions Administration: read and write and Actions: read, nothing else
    • installable only on your account
  2. Generate a private key for the app and install the app on the repositories that should use runner.li, not on the whole organization.
  3. Send us the app ID, the installation ID and the private key through the secure channel agreed at onboarding.

runner.li requests short-lived installation tokens for one repository at a time, with only the runner permissions. Installing the app on more repositories does not give any one of them more access.

Use it in a workflow

We assign a label at onboarding. To switch without a commit each time, read it from a repository variable:

jobs:
  test:
    runs-on: ${{ vars.RUNS_ON || 'ubuntu-latest' }}

Set the repository variable RUNS_ON to the runner.li label to move jobs to runner.li. Delete the variable to move them back to GitHub's runners at once.

Next