Preview: customer installs aren't open yet.

Run GitHub Actions on spot VMs in AWS, GCP and Azure, from one install.

Runners and their autoscaler run in your own accounts, at up to 10× less compute cost than GitHub-hosted runners.

One install across three cloudsGitHub's queued jobs go to one backmesh install, which runs them on spot VMs in AWS, Google Cloud and Azure.GitHub$ backmesh installAWSGCPAzure
  • No cloud keys storedInstall connects each cloud with a role from your own cloud CLI session.
  • Your code never reaches usCode, secrets, caches and logs go between GitHub and your runners, never to backmesh.
  • One small event per jobIt describes the runner and never names the repo, workflow, job or branch. What's sent
  • CI rides out our outagesRunning jobs finish, and new ones keep starting through a backmesh.com outage of up to about 30 minutes.

150,000 minutes a month: $1,800 on GitHub, $230–$240 on backmesh.

4-vCPU Linux jobs on AWS; the range runs from evenly spread jobs to bursty ones.

GitHub-hosted$1,800
backmesh on AWS$142–$153
backmesh on Azure$89–$98
backmesh on GCP$243–$320
Compute a month: GitHub's list price against the clouds' spot prices on 2026-11-05, VMs fully packed. The headline adds AWS's fixed cost, and leaves out each VM's boot and the 10 idle minutes before it stops, so it's a floor; see What does it cost?

Pay for jobs started, not minutes.

Caps count jobs started over a rolling 30 days, from the one event per job, with no licence keys. Every tier starts with a 15-day free trial. Going over only warns; an unpaid bill blocks upgrades, never jobs.

Free for non-commercial use: open source, non-profits, education and personal projects, with a public link back to backmesh.com. Declare it on the billing page after install.

A subscription covers the orgs, or the enterprise, you link through GitHub sign-in; an org links to one subscription. Tiers change or cancel in the customer portal. See the terms.

Pick the cloud per workflow.

Each label runs in one cloud. Out of spot capacity, the next VM type launches, never the next cloud.

Learn more
strategy:
  matrix:
    cloud: [aws, gcp, azure]
runs-on: backmesh-${{ matrix.cloud }}-4
  • backmesh-aws-4test · aws
  • backmesh-gcp-4test · gcp
  • backmesh-azure-4test · azure

One status for every cloud.

Pools, queue, 24 h and 7 d job times, and month-to-date cost, in one command.

Learn more
backmesh status
$ backmesh status
  bm-aws-spot: running, 2 VMs (1–12)
  bm-gcp-spot: running, 1 VMs (1–2)
  bm-azure-spot: running, 1 VMs (1–8)
  backmesh-aws-4: 6 assigned, 6 running
    24 h: 42 jobs; queued to started
      p50 21 s, p95 1.6 min
Cost since 2026-11-01: $41.80
Abridged; the numbers here and below are illustrative.

Every job log ends with what it used.

Peak memory, OOM kills, CPU and disk, to size each job.

Learn more
Job log
backmesh: resources over 312 s,
sampled every 5 s
  Memory  peak 9.8 GiB of 15.5 GiB,
          0 OOM kills
  CPU     average 2.41 cores,
          peak 3.91 of 3.98
  Disk    work directory peak 3.4 GiB

One GitHub App, and what its key can do.

Four permissions, its webhook off, and its key held by backmesh, never in your accounts. The same key works in every org that installs the App.

Learn more

Its key can

  • Register a runner in any runner group and take its jobs, with their code and secrets
  • Dispatch or rerun a workflow
  • Change the OIDC subject claim your cloud trust policies match on
  • Read, cancel or delete runs and logs
  • Write check runs

It can't

  • Read code through the API
  • Manage repository secrets
  • Change administration settings
  • See org members

Before you install

Will it work?Linux x86-64 only. Private repos only.
  • No macOS, Windows, Arm or GPU runners.
  • Public repositories can't use the runners.
  • A reclaimed spot VM fails its jobs; one check run per workflow run lists them to rerun.
  • Each job starts with an empty Docker layer cache.
Is it safe?Jobs from every repo share VMs.
  • Up to 8 jobs share a VM, each root only in its own container.
  • Run code you trust as you trust your org's members.
  • Per-repo isolation is planned.
What does it cost?Idle pools scale to zero VMs.
  • Your clouds bill you directly.
  • Idle: only the control plane, about $86 a month on AWS, $74 on GCP, $111 on Azure.
  • Runner VMs bill while jobs run, then scale back to zero.

One install. Your clouds. Your bill.

Install across your clouds