Ask AI
How to cut GitHub Actions costs, macOS minutes most of all
GitHub bills hosted runners by the minute. Your own machine doesn't.
GitHub bills its hosted runners by the minute, and macOS minutes cost the most: $0.062 a minute (3-core M1), against $0.006 a minute (2-core) on Linux. To cut the bill, run those jobs on a Mac or Linux machine you already own. Codemany does that for $20/month for 2 machines, $10/month for each extra, however many minutes the jobs take.
What GitHub charges per minute
| Runner | Price |
|---|---|
| GitHub, macOS | $0.062 a minute (3-core M1) |
| GitHub, Linux | $0.006 a minute (2-core) |
| Codemany | $20/month for 2 machines, $10/month for each extra |
GitHub's list prices for its standard hosted runners since January 1, 2026 (GitHub Docs: Actions runner pricing). Larger runners cost more. These are before the free minutes your GitHub plan includes.
A worked example
20 jobs a day × 10 minutes × 30 days = 6,000 minutes, half on macOS: $204 on GitHub against $20 on Codemany, so you keep $184 a month ($2,208 a year). Break-even at that mix: 589 minutes a month.
Put in your own jobs, minutes and OS mix in the GitHub Actions savings calculator.
Move macOS jobs first
On GitHub a macOS minute is $0.062 and a Linux minute $0.006, so iOS and macOS builds are where the bill grows fastest. On a flat price, long builds don't cost more. The Mac on your desk or a Mac mini in a closet can take them: see iOS and Xcode builds on your own Mac and a self-hosted runner on a Mac.
Linux jobs can move too, to a server, home lab box or desktop: a self-hosted runner on Linux.
Move jobs to your own machine
Install
Download Codemany on a Mac, or install it on Linux with one command (how).
Sign in with GitHub
Your 14-day free trial starts by itself, with no card.
Pick repositories
Choose repositories, or a whole organization.
Change one line
Point the jobs you want to move at your machine:
jobs: build: runs-on: [self-hosted, codemany] steps: - uses: actions/checkout@v4 - run: swift test
Jobs left on runs-on: macos-latest or ubuntu-latest keep running on GitHub, so you can move one workflow at a time. Full setup: Get started.
What else to count
- Jobs at once. Each machine runs as many jobs as it has room for: 1 on an 8 GB Mac, 3 on a 16 GB Mac. Each extra machine is $10/month (How many jobs per machine).
- Cloud machines are billed by your cloud provider, to your own account (Other costs).
- GitHub's own charges for self-hosted runners, if any, apply to Codemany and DIY runners alike.
Questions
Is it cheaper than GitHub-hosted runners?
Above the break-even point, yes. In the example above it is 589 minutes a month; the savings calculator works it out for your mix.
Does a longer build cost more?
No. There is no per-minute billing. The price depends only on how many machines you use (Pricing).
Do GitHub's free minutes count?
The estimate is before the free minutes your GitHub plan includes. If your jobs fit in those, you may not need to move them.
How does it compare with other runner services?
Most hosted runner services bill per minute. See Codemany compared for Depot, Blacksmith, WarpBuild, Cirrus Runners and DIY self-hosted runners.
Can I try it first?
Yes. 14 days free on up to 2 machines, with no card (Free trial).