3,000 free minutes every month
GitHub Actions runners, 2x faster at half the cost
Change the runs-on label on a job and it runs on newer AMD EPYC hardware at $0.008 a minute for 4 vCPU instead of GitHub's $0.012. Same workflow, same secrets, same actions. The speed is measured in public and the first 3,000 base minutes every month are free.
No credit card required. Per-minute billing with no minimums and no commitment. Cancel anytime.
The one-line change
This is the whole migration. Every other line in the file stays as it is.
jobs: test: runs-on: bp-ubuntu-latest-x64-4x steps: - uses: actions/checkout@v4 - run: npm ci && npm test
Setup
- Sign up with GitHub and connect your GitHub organization. Runners register with an organization, not a personal account, and the BuildPulse GitHub App is the only install.
- In Runners, open Setup, pick GitHub Actions and a size from 2 to 64 vCPU on x64 or arm64. BuildPulse creates the runner labels for your organization.
- Change runs-on in one workflow to the label, for example bp-ubuntu-latest-x64-4x, and push. The job queues to BuildPulse on its next run.
- Public repositories need one GitHub setting first: in Organization Settings, Actions, Runner groups, Default, check "Allow public repositories".
What a month on GitHub Actions costs
Per minute, rounded up per job like GitHub, with no minimums and no commitment. GitHub's included minutes cover standard runners only; BuildPulse's 3,000 base minutes cover every size. Pick a size to see a month side by side.
vCPU
A month of CI at 10,000 GitHub minutes on 4 vCPU x64
runs-on: bp-ubuntu-latest-x64-4x
GitHub-hosted
$120
10,000 min · none included · 10,000 × $0.012
GitHub charges larger runners from the first minute, even when your plan has quota left.
BuildPulse
$28
5,000 min · 1,500 free · 3,500 × $0.008
Twice the speed, half the minutes.
See the benchmark →You pay
77% less
at 10,000 GitHub minutes a month
$0.008/min, not $0.012/min, for half as many minutes, and the first 1,500 free every month.
| Linux x64 | Memory | BuildPulse | GitHub | Depot | Total vs GitHub |
|---|---|---|---|---|---|
| 2 vCPU | 8 GB | $0.004 | 67% less | ||
| 4 vCPU | 16 GB | $0.008 | 67% less | ||
| 8 vCPU | 32 GB | $0.016 | 64% less | ||
| 16 vCPU | 64 GB | $0.032 | 62% less | ||
| 32 vCPU | 128 GB | $0.064 | 61% less | ||
| 64 vCPU | 256 GB | $0.128 | 60% less |
Per-minute list prices for the same size, September 2026. Depot also charges a monthly plan fee.
3,000 free minutes a month
On every account, renewed monthly. Larger runners use them proportionally faster, so the grant is worth the same whichever size you run.
Flaky test detection included
Every run is parsed for flaky tests and per-test timing. No second tool, no separate bill.
Caching included
Docker layer, dependency and build caches that survive across runs, with no per-GB storage line.
Need your CI to reach a private registry or database behind an allowlist? Our runners leave from four fixed addresses you can allowlist today, and a dedicated egress IP is available on request. Talk to us.
Measured, not claimed
GitHub Actions benchmark · October 23, 2026
1.3x to 2.1x faster than GitHub's ubuntu-latest at 4 vCPU on Rust, TypeScript and Docker builds, 50% to 68% less per build at list price.
Read the benchmark and rerun it →
Price by machine, class by class: BuildPulse vs GitHub-hosted runners.
Common questions
Do I have to change anything besides runs-on?
No. Steps, actions, matrix, caches and secrets stay exactly as they are. If a job is not faster on your repository, change the line back.
How is a minute billed?
Per minute, rounded up to the next whole minute per job, the same way GitHub bills. The first 3,000 base minutes each month are free on every size, and there are no minimums.
Is arm64 available?
Yes. Every size has an arm64 (Graviton) label, bp-ubuntu-latest-arm64 followed by the size, priced below the x64 size with the same vCPU count: $0.0025 a minute at 2 vCPU.
How many jobs can run at once?
Concurrency comes from a per-organization CPU quota rather than a per-plan seat count, and the quota is raised on request. Parallel jobs cost nothing extra; you pay for the minutes they use.
Is this self-hosting?
No. Each job runs on a fresh runner that is discarded when the job ends. BuildPulse runs the fleet, so there are no instances to patch, no autoscaler to tune and no security boundary to manage on your side.
Move one job and compare the bill
Connect your GitHub organization, pick a size, and change one runs-on label. Time it against GitHub for a day.
3,000 free minutes every month · No credit card required