Bring your runners home.

GitHub Actions, running on your own machine. Green checks on your PRs. Up to 31x cheaper than hosted macOS — and it keeps working when GitHub doesn’t.

Star on GitHub
01 / Cost

The bill, itemized.

RunnerPer minute
GitHub-hosted · Linux, 2-core$0.006
GitHub-hosted · Windows, 2-core$0.010
GitHub-hosted · macOS (M1), 3-core$0.062
Your machine · private repos$0.002
Your machine · public repos$0.000

Self-hosted isn’t $0 — since March 2026 GitHub charges a $0.002/min control-plane fee on private repos, and Homeplate’s savings counter subtracts it before claiming anything. What’s left is still up to 31x cheaper. macOS runners cost what they do because Apple requires real Mac hardware. You own real Mac hardware. It’s asleep right now.

02 / Setup

One command, then nothing.

1

One binary, no runtime. Works on macOS (Apple Silicon and Intel) and Linux.

2

Auth, scan your disk for GitHub clones, link every repo you admin, open the one-line runs-on: PR per repo, install the background daemon. Fully non-interactive — an AI assistant can run it for you. Step by step instead: init → scan → adopt.

3
$git push
✓ build (macOS · local) — 41s
✓ test (linux · local container) — 1m 12s

Jobs run in clean, resource-capped, one-job ephemeral containers on your machine. Checks appear on the PR like nothing changed — because to GitHub, nothing did.

03 / Offline

Works when GitHub doesn’t.

GitHub Actions went down twice in the last week. Homeplate’s offline mode — built on the excellent nektos/act — keeps running your workflows locally, on battery, with no wifi, and posts the results as commit statuses the moment you’re back online.

$homeplate status
github.com — unreachable
mode — offline (act)
✓ 3 workflows run · 2 queued for sync
04 / Caveats

The honest part.

Not actually $0
Private repos bill $0.002/min for self-hosted runtime. Public repos are free. The savings counter shows the net, never the gross.
One PR per repo
GitHub reserves the hosted labels (ubuntu-latest…), so runs-on: has to change. homeplate adopt opens that PR — or a repo-variable variant you can flip without new commits.
Fork PRs
On a public repo, a fork PR is a stranger’s code on your machine. Off by default. Turn it on only if you know exactly what that means.
Lid closed
macOS sleeps on lid close unless you attach an external display — or enable Homeplate’s managed toggle (homeplate power setup), which reverts itself when the work is done.
macOS sandboxing
Linux jobs get hard container caps. macOS-native jobs (xcodebuild) get an ephemeral workspace and scheduling hints — soft limits, labelled SOFT in homeplate status. VM isolation is the v2 plan.
Your fans
Ships with CPU, memory, and disk caps at half your machine. Raise them in ~/.homeplate/config.toml if you want the whole machine.

Safe at home.