First-class agentic runners.
Run GitHub Actions and CircleCI jobs on Brimble sandboxes. Change one line in your workflow and the next job runs on Brimble.
jobs: test:- runs-on: ubuntu-latest+ runs-on: brimble steps: - uses: actions/checkout@v4 - run: npm ci && npm test- 83% less
- per minute than GitHub's 2-core runner
- Billed per second
- with nothing billed while a sandbox is paused
- 2 providers
- GitHub Actions and CircleCI
- gVisor
- isolation around every job
Agents open pull requests all day. CI shouldn't make them wait.
Every pull request needs CI, whether a person or an agent opened it. With long-lived sandboxes attached, a job starts as soon as it's picked up. Attach more sandboxes to run more jobs at once.
Where your CI jobs actually run.
GitHub Actions and CircleCI hand jobs to Brimble. Each one runs on a sandbox in its own gVisor shell: a long-lived one that's already warm, or a fresh one that's destroyed when the job ends.
Warm machines that start instantly, or a clean one for every job.
Long-lived sandboxes
Sandboxes you attach stay running between jobs.
- Jobs start straight away, with no boot wait
- Installed tools and caches carry over between jobs
- The job workspace is cleared after every job
- Run more jobs at once by attaching more sandboxes
Billed while a sandbox is attached and running. Attached sandboxes don't expire.
Fresh sandbox per job
Every job gets a new sandbox that's destroyed when the job ends.
- Every job starts from a clean machine
- Each job waits for its sandbox to boot
- Capped by the runner's max concurrent jobs
- A size label starts a sandbox of that size
Billed only while each job's sandbox is running.
CircleCI runners always use long-lived sandboxes.
The same job minutes, for 83% less.
Runners are billed as sandbox time, per second. Compare a month of job minutes against GitHub's 2-core Linux runner at list price.
See sandbox pricingJob minutes a month
Across every repository using the runner.
Brimble figures are for a fresh sandbox per job, billed while each job's sandbox runs. An always-on Medium sandbox costs $44.64 a month however many jobs it runs. GitHub price from its runner pricing page, checked 11 Nov 2026. Memory differs between GitHub's runner and Brimble's sizes.
Toolchains are already installed.
Runner sandboxes come with the common languages, build tools and CLIs. Anything else installs in a step, and with long-lived sandboxes it's still there for the next job.
- Node.js
- Python
- Go
- Rust
- Java
- .NET
- Ruby
- PHP
- Chrome
- git
- GitHub CLI
- AWS CLI
- kubectl
- Helm
- Terraform
- Database clients
Running jobs in three steps.
- GitHubCircleCI01
Connect GitHub or CircleCI
Install the Brimble GitHub App on your organization, or add a CircleCI resource class and its token.
- sbx.medium · 2 vCPU · 4 GBonline02
Attach a sandbox
Use a runner sandbox you already have, or let Brimble create one. It stays attached until you detach it.
- runs-on: ubuntu-latest+ runs-on: brimble
03Point your jobs at it
Change runs-on, or set the resource class in CircleCI. The next job runs on Brimble.
Ask for a size by label.
runs-on: brimble takes any attached sandbox. A size label only takes a sandbox of that size.
runs-on: sbx.smallEvery job runs under gVisor.
Runner sandboxes get the same isolation as any Brimble sandbox, on a pool that never runs production apps.
One sandbox, both providers.
A sandbox can serve a GitHub runner and a CircleCI runner at the same time. They share its CPU and memory.
See every job.
The Jobs tab lists GitHub Actions jobs with their status, sandbox and duration.
Tokens stay encrypted.
Brimble stores your CircleCI resource class token encrypted and never shows it again. Replace it any time.
Off when you say so.
Disable or delete a runner and its sandboxes are detached. Detaching never deletes a sandbox.
FAQs
Spend little to no time on DevOps and more time building. Super efficient way to host & scale your web app.
GitHub