SKIP_TO_MAIN_CONTENT
M machine.dev
SIGN_UP
04.0 // Documentation v1.3.1 Last updated 2026-04-26

Configuration Options

Complete reference for every label you can pass to runs-on with machine.dev. CPU and GPU types, architecture, tenancy, regions, storage, metrics.

This page is the canonical reference for every label you can pass to runs-on: with machine.dev. For pricing see Pricing; for which workload fits which runner see CPU vs GPU.

Required label

LabelDescription
machineRequired on every machine.dev job. Tells GitHub Actions to route the job to a machine.dev runner.

Runner type (pick one)

LabelDescription
cpu=NCPU runner. N is one of: 2, 4, 8, 16, 32, 48, 64
gpu=TYPEGPU runner. TYPE is one of: t4g, t4, l4, a10g, l40s, trainium, inferentia2

Optional labels

LabelDefaultDescription
architecturex64x64 or arm64. CPU runners support both. T4G is always ARM64.
cpu4With gpu= only. Scales vCPU: 4, 8, or 16.
ramvariesWith gpu= only. See GPU Runners.
tenancyon_demandon_demand or spot. Spot is 70–90% cheaper.
regionsautoComma-separated AWS region codes. Auto picks cheapest.
disk_size100Root volume in GB. Range: 1–16,384.
disk_iops6000Provisioned IOPS. Range: 6,000–16,000.
disk_throughput250Throughput in MB/s. Range: 250–1,000.
metricstruetrue or false. Enables instance metrics.
metrics_interval60Collection interval in seconds. Range: 1–60.

Storage: Every runner uses a gp3 EBS root volume. The default 6,000 IOPS and 250 MB/s throughput are included at no charge. Increasing above the defaults incurs prorated EBS charges — see Pricing.

Metrics: machine.dev collects metrics by default for every job and renders them as sparkline charts on the dashboard. Collected: CPU, memory, disk I/O, network, plus GPU utilization/memory/temperature/power on GPU runners.

There are no environment variables. machine.dev reads your requirements from the labels in runs-on:. Your job’s environment is determined by the runner image, not by machine.dev — use the labels themselves as your source of truth (gpu=l4, etc.).

Available regions

Region codeLocation
us-east-1US East (N. Virginia)
us-east-2US East (Ohio)
us-west-2US West (Oregon)
ca-central-1Canada (Central)
eu-south-2Europe (Spain)
ap-southeast-2Asia Pacific (Sydney)

See Regions & availability for which GPU types are available in which regions and how auto-selection works.

Examples

Minimal CPU job

jobs:
  build:
    runs-on: [machine, cpu=8]
    steps:
      - uses: actions/checkout@v4
      - run: make

Minimal GPU job

jobs:
  train:
    runs-on: [machine, gpu=t4g]   # 4 vCPU, 8 GB RAM, 16 GB VRAM, ARM64
    steps:
      - uses: actions/checkout@v4
      - run: nvidia-smi

Spot CPU build with multiple regions

runs-on:
  - machine
  - cpu=32
  - tenancy=spot
  - regions=us-east-1,us-east-2,eu-south-2

Full-control GPU fine-tune with custom storage and metrics

runs-on:
  - machine
  - gpu=l40s
  - cpu=16
  - ram=128
  - tenancy=spot
  - regions=us-east-1
  - disk_size=500          # Bigger volume for model checkpoints
  - disk_iops=10000        # Higher IOPS for fast checkpoint writes
  - metrics_interval=10    # Finer-grained metrics

ARM64 CPU build

runs-on: [machine, cpu=16, architecture=arm64]

Next steps