Runner providers
What AWS, Cloudflare and Modal each run, what SuperCI creates in each account, and what each one needs from you.
A runner provider is a cloud account where SuperCI starts machines for your jobs. Add them under Runners. You can use one or several; with several, you set their order.
| AWS | Cloudflare | Modal | |
|---|---|---|---|
| A job runs in | an EC2 machine | a container | a sandbox |
| Largest machine | any size EC2 has | 4 CPUs, 12 GB, 20 GB disk | 64 CPUs, 336 GB |
| Systems | Linux and Windows, x64 and arm64 | Linux, x64 | Linux, x64 |
| GPUs | T4, L4, A10G, L40S | none | any Modal offers |
| Price | spot or on-demand, as AWS bills it | CPU while it is used, memory while it runs | per second, for the exact size |
AWS
Machines are spot by default, with on-demand as a provider of its own (see Spot machines).
- Regions: choose one or several, in order. Machines start in the first; when it has no spot capacity left, in the next.
- What a job finds: a machine image with the tools of GitHub’s own Ubuntu 24.04 runners, published by RunsOn as public images. Docker is there.
- What SuperCI creates: a role the control plane assumes with short-lived credentials (no stored keys), and a network for jobs in each region with no way in. Both are tagged
superci-plane, and removed when you remove the provider. - Your account’s limits: AWS gives new accounts a small spot quota. The dashboard shows it for each region, with a link to ask AWS for more.
You can also start machines in your own network.
Cloudflare
Jobs run in Cloudflare Containers, sized per job. They start fast and cost nothing while no job runs. Containers need Cloudflare’s Workers Paid plan.
- Location: choose the area containers start in.
- What a job finds: a small Ubuntu image with GitHub’s runner. Docker works inside a job, with one difference: containers share the machine’s network, so two services cannot use the same port.
- What SuperCI creates: a runner agent (a Worker) and its container application, named
superci-runners-<id>.
GitHub’s full image (experimental)
The small image has GitHub’s runner and little else. To run jobs inside GitHub’s own Ubuntu 24.04 runner image, with everything it has, set its address under Runners → Cloudflare → GitHub’s full image:
https://images.superci.dev/ubuntu-24.04-full/de14111c9565405e3d9581170f3c63baThe image is far larger than a container’s disk, so it is not copied there: a job fetches only the parts it reads, and each part is checked against the address before it is used. A job whose image cannot be loaded fails saying so.
Modal
Jobs run in Modal sandboxes, up to 64 CPUs, with any GPU Modal offers.
- What a job finds: a container with GitHub’s runner. There is no Docker inside a sandbox, so jobs that build or run containers belong on AWS or Cloudflare, and GitLab jobs (which run in Docker) do not run on Modal.
- GPUs need a payment method on your Modal workspace.
- What SuperCI creates: an app named
superci-runners-<id>.
Removing a provider
Runners → the provider’s settings → Remove stops jobs going there, then deletes what SuperCI made in that cloud, with your sign-in there. The dialog lists what goes before you confirm.