3,000 free minutes every month
Semaphore runners, up to 30% less a minute with the fee included
Keep Semaphore. Point a block's agent type at BuildPulse and it runs on our machines through Semaphore's own self-hosted agent, up to 30% less a minute than Semaphore's f1 machines even after Semaphore's $0.0025 self-hosted fee, with sizes up to 64 vCPU where Semaphore's x86 machines stop at 4. Pipelines, promotions and secrets stay in Semaphore.
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.
version: v1.0name: CIagent: machine: type: s1-bp-x64-4xblocks: - name: Test task: jobs: - name: npm test commands: - checkout - npm ci && npm test
Setup
- In Semaphore, open Settings, Self-hosted agents, and add an agent type, for example s1-bp-x64-4x. Copy its registration token.
- In BuildPulse, open Runners, Setup, pick Semaphore and a size. Enter your organization, the agent type and the registration token. They are checked against Semaphore before saving.
- Set the agent type on one block or pipeline, and push.
The full walkthrough, with screenshots of each setting, is in the Semaphore setup guide.
What a month on Semaphore costs
Semaphore charges $0.0025 a minute for any job on a self-hosted agent, so every BuildPulse price here already includes it. The benchmark put the two 4 vCPU machines within a few seconds of each other on every build, so the bill compares the per-minute price alone. Both free allowances are taken off.
Linux x64
vCPU
A month of CI at 10,000 Semaphore minutes on 4 vCPU x64
machine: { type: s1-bp-x64-4x }
Semaphore
$135
10,000 min · 1,000 included · 9,000 × $0.015
BuildPulse
$93
10,000 min · 1,500 free · 8,500 × $0.008 + 10,000 × $0.0025 fee
Semaphore's self-hosted fee included.
You pay
31% less
at 10,000 Semaphore minutes a month
$0.0105/min with Semaphore's fee, not $0.015/min, and the first 1,500 free every month.
| Linux x64 | Memory | BuildPulse + fee | Semaphore | Total vs Semaphore |
|---|---|---|---|---|
| 2 vCPU | 8 GB | $0.0065 | 13% less | |
| 4 vCPU | 16 GB | $0.0105 | 30% less |
Per-minute list prices for the same vCPU count, October 5, 2026. Our price includes Semaphore's $0.0025 a minute self-hosted fee. Semaphore's x86 machines stop at 4 vCPU; ours go to 64.
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.
Common questions
Do I leave Semaphore?
No. Semaphore keeps running your pipelines, promotions, secrets and test reports. The only thing that changes is the machine a job runs on, and that goes through Semaphore’s own self-hosted agent. Move one block, see how it does, and leave the rest where they are.
What does Semaphore still charge me?
Your Semaphore plan as before, plus Semaphore’s self-hosted fee of $0.0025 for every minute a job runs on our machine. Every price and saving on this page already has that fee in it.
Which jobs are supported?
Linux jobs on Ubuntu 24.04 with Docker, on an agent type you create. checkout, cache, artifact and test-results work as usual. sem-version is not available on any Semaphore self-hosted agent, ours included: install language versions in a command or run the job in a container image. macOS and ARM machine types are not supported.
How fast does a job start?
Each job gets a fresh machine, usually running in under a minute. You pay our per-minute rate from when Semaphore starts the job to when it ends; the boot is not billed.
Move one job and compare the bill
Create an agent type, paste its token, and point one block at it. Everything else in your pipeline stays on Semaphore.
3,000 free minutes every month · No credit card required