CI Runners

GitHub Actions on machines that are yours alone

Run your existing workflows on Quant-hosted runners in Australia. Each pool has its own machines, native arm64 and x64, and a fixed monthly price.

.github/workflows/build.yml
jobs:
  build:
-   runs-on: ubuntu-latest
+   runs-on: [self-hosted, quant, build, arm64]
    steps:
      - uses: actions/checkout@v4
      - run: docker build -t my-app .
      - run: ./deploy.sh
        env:
          DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
1 line
Changed per job
2 to 8
Concurrent jobs per pool
arm64 + x64
Native builds
Melbourne
Where jobs run

Isolation

No shared machines

A runner pool is a set of virtual machines that only your organisation uses. Each job starts in a fresh container on a single-use runner, and the runner is removed when the job ends.

  • Two customers never share a machine, a Docker daemon, a disk or a cache

  • Jobs from public repositories are refused, so a fork cannot run code on your pool

  • The GitHub App reads job events and registers runners. It has no access to your code

  • No personal access tokens to create or rotate

How a job runs

TierConcurrent jobsEach job gets
Small22 vCPU, 7 GB memory, 50 GB disk
Medium44 vCPU, 14 GB memory, 75 GB disk
Large84 vCPU, 14 GB memory, 75 GB disk

The tier is a hard cap. When every slot is busy, new jobs wait in the queue and start when a slot is free.

deploy.yml
deploy:
  runs-on: [self-hosted, quant, build, x64]
  permissions:
    id-token: write
    contents: read
  steps:
    - uses: actions/checkout@v4
    - run: ./deploy.sh
      env:
        # stored on Quant, limited to the main branch
        DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
        REGION: ${{ vars.REGION }}

Secrets and variables

Keep CI secrets off GitHub

Store secrets and variables in Quant and read them with the syntax your workflows already use. A job receives only the values for its own repository and branch, when it starts on your pool.

  • Scope a value to the whole organisation or to one repository

  • Limit deploy credentials to named branches, such as main

  • Jobs for pull requests from forks receive no values
  • If the values cannot be delivered, the job fails before its first step

  • GitHub OpenID Connect works, so cloud deploys need no stored access keys

Secrets and variables documentation

Running in three steps

You keep your repositories, your workflows and your logs on GitHub.

1

Create a pool

Choose a name, a tier and the architectures in the Quant dashboard. The pool is ready in a few minutes.

Cloud → CI runners → Create pool
2

Connect GitHub

Install the Quant CI runners app on your GitHub organisation and choose the repositories that may use the pool.

All repositories, or the ones you select
3

Change runs-on

Point a job at the pool. You can move one job at a time and leave the rest on GitHub.

runs-on: [self-hosted, quant, build, x64]

Run your next build on your own pool

CI runners are available to every organisation with Quant Cloud access on a Teams Lite plan or higher.

Isolated machines per customer
Native arm64 and x64
Secrets stored on Quant
Fixed monthly price