Labels and machines
How the runs-on label picks a job's machine: size, architecture, GPUs, Windows, a provider, or on-demand only.
The runs-on label says which machine a job gets. superci alone is the default machine. Add parts, separated by dashes, to ask for something else.
runs-on: superci-8cpu-32gbWhat a label can say
| Part | Example | Meaning |
|---|---|---|
| CPUs | superci-8cpu | Eight CPUs. Memory follows: 4 GB for each CPU. |
| Memory | superci-8cpu-64gb | Memory in GB. |
| Disk | superci-200disk | Disk in GB. |
| Architecture | superci-arm64 | Arm machines. x64 is the default. |
| Windows | superci-windows | A Windows machine. |
| A GPU | superci-gpu | Any GPU. Name one to choose it: superci-l4. |
| On-demand | superci-ondemand | Never a spot machine. See Spot machines. |
| A provider | superci-aws | Only this provider: aws, cloudflare or modal. |
Parts combine in any order: superci-16cpu-arm64-ondemand.
GPUs that can be named: t4, l4, a10g, l40s (AWS and Modal), and a100, h100, h200, b200 (Modal).
The default machine
runs-on: superci gives each provider’s standard machine:
| Provider | Standard machine |
|---|---|
| AWS | 4 CPUs, 8 GB, 60 GB disk |
| Cloudflare | 4 CPUs, 12 GB, 20 GB disk |
| Modal | 2 CPUs, 8 GB, 64 GB disk |
Under Workflows in the dashboard you can set your own default (say, 8 CPUs on arm64). A label that says nothing else then gets that machine.
Which provider runs it
A job goes to the first provider in your order that can run its machine. A provider that cannot (Cloudflare has no 16-CPU containers, only AWS has Windows) is passed by. If no provider you have added can run the machine, the job fails at once on GitHub, saying why, instead of waiting.
The largest machine
A label may ask for at most 32 CPUs, and 8 GB of memory for each CPU allowed. You can raise or lower that under Workflows → Limits. A label that asks for more is refused with a message.
Your own label
The word superci is your control plane’s label. If you set another when deploying it, every example here uses that word instead.