For iOS and cross-platform teams on GitHub Actions
Your agents open the PRs.Your Macs run the CI.
GitHub runs five hosted macOS jobs at a time, and your agents open more pull requests than that. Buildhound turns the Mac mini you own into clean, single-use runners beside GitHub's, and new jobs route to the healthy side when it is off.
Copies one prompt for Claude Code, Codex or Cursor.
- faster than GitHub-hosted
- About 3x
- per job, destroyed after
- 1 VM
- to boot a Linux VM
- About 2 s
- for public repositories
- $0
Add offline sync to the photo picker
Opened by your coding agent, 9 minutes ago
- Cache photo metadata for offline use
- Queue uploads while the device is offline
- Tests for the sync queue
9 files changed, 214 additions, 38 deletions
Ready to mergeAll checks passed on your MacWaiting for checksRunning in fresh VMs on your Mac
Checks
All passed in 7m 11sRunning 07:11
- Native iOS buildmacOS, in a fresh VM on your Mac7m 11s
- Tauri desktop appLinux, in a fresh VM on your Mac3m 12s
- Lint, typecheck and testLinux, in a fresh VM on your Mac1m 04s
Times measured 8 October 2026 on an M4 Pro MacBook Pro against GitHub's standard runners. The pull request is an illustration.
Measured
The wait is the slow part.
GitHub runs five hosted macOS jobs at a time. When agents push more, the rest queue for a hosted Mac before they start. Your Macs add slots beside those five.
What teams report in public
Other teams' measurements, linked to their sources.
Our own runs, on one clock
Three jobs from a production app, the same workflow on both sides.
| Job | Your Mac | GitHub-hosted | Speed-up |
|---|---|---|---|
| Native iOS buildmacOS, 8 cores against 3 | 7m 11s | 23m 18s | 3.2x faster |
| Tauri desktop appLinux, 8 cores against 2 | 3m 12s | 9m 03s | 2.8x faster |
| Lint, typecheck and testLinux, 8 cores against 2 | 1m 04s | 3m 12s | 3.0x faster |
Against a plain runner
Keep the Mac. Drop the upkeep.
Plenty of teams register a Mac mini with GitHub themselves. Then every job runs straight on the host, state piles up between runs, and one machine becomes a release dependency.
Clean every time
Every job boots a fresh virtual machine and is destroyed when it ends. Nothing is left from the last run, and the job reaches the internet and nothing else on your network.
- Plain runner: Caches, keychains and leftovers pile up on the host
- Buildhound: A fresh VM per job, off your network
Never your only runner
When the Mac is off, new jobs route to the healthy side within a minute. A job that waits too long for a busy Mac is re-run on GitHub-hosted.
- Plain runner: An offline Mac leaves jobs waiting up to 24 hours
- Buildhound: New jobs route to the healthy side
Looks after itself
The agent updates itself and the runner, builds the macOS image on your Mac, and keeps jobs that use secrets on Macs a person marked as trusted.
- Plain runner: You update the runner on every Mac, every month
- Buildhound: Updates, images and trust handled
Routing
Your Macs, plus GitHub's five.
Jobs go to your Macs first, and GitHub-hosted is still there. When every Mac is busy or away, the job runs on the healthy side instead.
Machines that share a label share the jobs. The Mac mini carries the base load; a plugged-in laptop takes the burst.
The dashboard
Every job, in one place.
Where each job ran, how long it waited and what GitHub would have billed. Every view is also a command your agent can run.
The Overview page, with sample numbers.
Pricing
Flat per machine. Never per minute.
Public repositories are free on any account. Private ones are $10 a machine a month on a personal account and $20 in an organisation, whatever the minutes.
One Mac at 5,000 macOS minutes a month
Three plans
Both paid plans start with 14 days free, no card. Enterprise is quoted.
Free. For work in the open.
$0for public repositories
- Public repositories on any account
- Up to 2 machines
- The audit, fix pull requests and failover
Personal. For your private repositories.
$10a machine a month, or $100 a year
- Everything in Free
- Private repositories on your account
- Unlimited machines
Team. For your organisation.
$20a machine a month, or $200 a year
- Everything in Personal
- Private repositories in an organisation
- Pools, trust tiers, roles and an audit log
Put your Mac mini to work.
One prompt into Claude Code, Codex or Cursor. Linux jobs run on your Mac within minutes; macOS jobs follow once the Mac has built its image.
- No GitHub credential on the machine
- A fresh VM per job, off your network
- Your agent prepares, you approve
- How security works