GPU runners for GitHub Actions, in your own cloud.
Change one line of your workflow and the job runs on an NVIDIA GPU launched in your AWS account. We run the control plane. The machines, and their bill, stay yours.
jobs:train:−runs-on: ubuntu-latest+runs-on: spawn-1x-l4-ubuntu2204steps:- uses: actions/checkout@v5- run: nvidia-smi- run: python train.py
How it works
No runner to install, patch or babysit.
- 1
Install the GitHub App
Choose the repositories that may use GPU runners. Nothing changes for the rest.
- 2
Connect your AWS account
Create one role we can assume. GPU VMs launch in your account, under your quotas, on your cloud bill.
- 3
Change runs-on
Each job gets a fresh VM with a single-use runner registration. When the job ends, the VM is gone.
Why it is built this way
A GPU bills by the second. So nothing runs that should not.
Your account, your GPUs
Jobs run on VMs in the AWS account you connect, under your quotas and on your cloud bill.
One job, one VM
Every job starts clean on its own ephemeral machine. No state leaks from one run to the next.
Limits checked before launch
Concurrency limits and fork pull request rules are enforced before a GPU starts, not after it is billing.
Nothing left running
Every VM carries a hard lifetime cap, and a sweeper reaps anything that outlives its job.
Sandboxes, from code.
The same GPUs, from a Python or TypeScript script instead of a workflow. One VM per sandbox, hosted by us or launched in the AWS account you connected.
- Create a sandbox, with or without a GPU
- Run commands and stream their output
- Move files in and out
- Terminate it when you are done