GitHub Actions runners · bare metal
GitHub Actions on bare metal.
Change one line.
Every job gets a fresh micro-VM on bare metal. A 2 vCPU runner costs $0.096 an hour. GitHub charges $0.360.
- runs-on: ubuntu-latest + runs-on: vulcan-4vcpu-ubuntu-2404
3,000 free vCPU-minutes a month · no credit card · cancel by deleting one line
Paste a workflow. Get it back rewritten.
Only runs-on: changes. Comments, anchors and every other line stay exactly as they were.
Move this repository's GitHub Actions jobs onto Vulcan runners. For every workflow file in .github/workflows/: 1. Change each job's `runs-on:` value: - ubuntu-latest or ubuntu-24.04 -> vulcan-2vcpu-ubuntu-2404 - ubuntu-22.04 -> vulcan-2vcpu-ubuntu-2204 - ubuntu-24.04-arm / 22.04-arm -> vulcan-2vcpu-ubuntu-2404-arm / 2204-arm - a larger runner -> the matching vulcan-<N>vcpu-ubuntu-<2204|2404>[-arm] 2. Leave windows-* and macos-* jobs unchanged. 3. Change nothing else: not steps, not caches, not secrets.
Per vCPU, in public.
Every started minute, times its vCPUs. No seats, minimums or commitments.
| Runner | Machine | Vulcan | GitHub | You save |
|---|---|---|---|---|
| vulcan-2vcpu | 2 vCPU · 8 GB · 14 GB | $0.096/hr | $0.360/hr | 73% |
| vulcan-4vcpu | 4 vCPU · 16 GB · 28 GB | $0.192/hr | $0.720/hr | 73% |
| vulcan-8vcpu | 8 vCPU · 32 GB · 56 GB | $0.384/hr | $1.440/hr | 73% |
| vulcan-16vcpu | 16 vCPU · 64 GB · 112 GB | $0.768/hr | $2.880/hr | 73% |
| vulcan-32vcpu | 32 vCPU · 128 GB · 150 GB | $1.536/hr | $5.760/hr | 73% |
Billed per started minute: $0.0008 per vCPU-minute. GitHub column: GitHub-hosted Linux list price, $0.003 per vCPU-minute. Machine: vCPU · RAM · disk.
Vulcan total is after 3,000 free vCPU-minutes.
3,000 free vCPU-minutes every month. A $2.40 credit that covers any size: 1,500 minutes at 2 vCPU.
Start freeQuestions.
Do I have to leave GitHub Actions?
No. GitHub keeps running your workflows, logs, required checks and approvals. Vulcan replaces only the machine each job runs on, which is why the change is one line.
Vulcan vs Blacksmith?
Both run GitHub Actions jobs on faster hardware for less. Vulcan charges $0.0008 per vCPU-minute at every size, with every size's price public, and gives every job a fresh micro-VM that is destroyed when the job ends.
Vulcan vs GitHub larger runners?
Same workflows, same one-line change. GitHub's Linux runners list at $0.003 per vCPU-minute; Vulcan is about a quarter of that at every size.
Vulcan vs self-hosted ARC?
You run nothing: no cluster, no runner scale sets, no long-lived runners to patch or clean. Each job gets a single-use runner in a fresh VM.
Is my code isolated?
Yes. Every job runs in its own hardware-isolated micro-VM with a single-use runner registration, and the VM is destroyed when the job finishes. Secrets stay in GitHub and reach only the job that uses them.
How do I fall back to GitHub-hosted?
Put the label in a repository variable, runs-on: ${{ vars.RUNNER }}, and switch the variable between a Vulcan label and ubuntu-latest. A list of labels does not fail over: every label in a list must match the same runner.
Caches?
actions/cache works unchanged.