SKIP_TO_MAIN_CONTENT
03.1 // Post Field notes June 20, 2025

Why We Built machine.dev

PUBLISHED JUNE 20, 2025 // AUTHOR LEONARD O'SULLIVAN
FEATURED_IMAGE.PNG ASSET_01
machine.dev GPU-powered runners for GitHub Actions - Performance comparison chart
01 Article body
[REF_001]

Full
Text.

Technical write-up from the team at machine.dev.

Background

Over the past year we've worked with language models of every size—from calling ChatGPT and Claude to fine-tuning our own models for narrow tasks. But the tooling has been single-threaded: you open a notebook, run a cell, wait… and nothing happens unless you're staring at the screen. Automation and parallelism are painfully limited.

GitHub Actions looked like the ideal way to automate those fine-tuning pipelines. It already gives us logs, artefact storage, and team collaboration with zero maintenance. The blocker? No affordable GPUs. We needed a workflow runner that could spin up a GPU on demand, run a job, and disappear.

This is when we discovered the following:

  • Hosted GPU runners were eye-watering. GitHub's GPU runner is $0.052/min—fine for the occasional build, brutal for nightly retraining or PR tests.
  • Self-hosting drained entire sprints. Patching AMIs, dodging Spot interruptions, wiring scaling logic—all before training a single model.
  • "Free" DIY frameworks weren't free. Running ARC on EKS adds control-plane fees, load balancers, NAT gateways, and ingress charges every time a layer is pulled from Docker Hub or a model is pulled from Hugging Face.

So we built machine.dev—a drop-in GPU runner for GitHub Actions that feels like the GitHub runners you know, but is purpose-built for ML and 10–14× cheaper.

How machine.dev slashes your CI bill

machine.dev Self-hosted GPU (ARC et al.)
Startup latency around 60 seconds VM build time + kube-autoscaler jitter
Pricing From $0.005–$0.01/min on T4G/T4 (Spot) (machine.dev) Pay for instances plus control plane, EBS, LB, NAT, data transfer
Operational overhead Zero—ephemeral VMs, patched images, CUDA pre installed Maintain AMIs, clusters, scaling logic
Data ingress/egress fees $0 (bundled into minute rate) Charged per GiB from your VPC or k8s cluster
GPUs available T4, L4, L40S, A10G, T4G, (Trainium, Inferentia) (machine.dev) Whatever you provision & maintain

Because of our Intelligent Tiering Layer, the exact same workload that costs $0.052/min on GitHub runners lands at $0.0037–$0.005/min on machine.dev—around 90% savings in real-world tests (machine.dev).

Credits, not contracts

Every new account is eligible for $10 free compute—that's $10 USD to kick the tyres. One Credit equates to one Minute on our cheapest T4G tier, so you get up to 33 hours of GPU time on day one.

Need more juice? Choose a monthly subscription to get bonus credits depending on the monthly commitment. Alternatively just keep topping up with One-Time Purchase Credit Bundles with zero long term commitment.

Getting started (takes longer to read than to do)

  1. Sign up for machine.dev.
  2. Complete onboarding - your $10 free compute drop instantly.
  3. Add a single label to an existing workflow:
GitHub Actions with machine.dev
jobs:
  train:
    runs-on:
      - machine # request a machine.dev runner
      - gpu=T4G # 16GB VRAM → $0.005/min
      - cpu=4
      - ram=16
      - tenancy=spot
    steps:
      - uses: actions/checkout@v4
      - name: Train
        run: python train.py

Commit, push, watch your pipeline light up a GPU in under a minute.

Why you won't miss your own fleet

  • No surprise line-items. Minute pricing already covers volumes, ingress, egress—nothing hidden in an AWS bill.
  • Security by default. Every job runs on a fresh, isolated VM; runners are never reused.
  • Global reliability. Multiple regions live today, so GPUs are ready when you are.
  • Intelligent Tiering. We hunt globally for the best price and lowest interruption rate.

What's next

  • Expanding to GCP for even more GPU options
  • Multi-GPU runners
  • Truly serverless inference endpoints that scale from zero (no K8s sleight-of-hand)

Your feedback in Discord shapes the roadmap. Jump in, burn through the free credits, and tell us what your perfect GPU runner looks like.

Ready to stop babysitting clusters and start shipping models with GPU-powered GitHub Actions? Check out our affordable pricing options and grab your credits to give machine.dev a spin.

02 Share
03 Continue reading
04 Initialize
READY
> STOP_READING // START_BUILDING

Ship Models,
Not Infra.

$10 free compute on signup. Two minutes to connect your GitHub org. torch.cuda.is_available() == True on the first run.