GitHub will begin charging for self-hosted action runners on March 2026
50 comments
·December 16, 2025chrisweekly
Personally, I quite liked GitLab CI when I used it circa 2021-23. Just now I did a quick search and found this article^1 suggesting (even before this GH pricing change) Gitlab CI may be a better choice than Github Actions.
1. https://medium.com/@the_atomic_architect/github-vs-gitlab-20...
esseph
GitLab CI is quite good. Have been using it for several years.
tensegrist
> Coming soon: Simpler pricing and a better experience for GitHub Actions
i think it should be illegal or otherwise extremely damaging to do this kind of thing
peterldowns
I'm happy to see they're investing in Actions — charging for it should help make sure it continues to work. It's a huge reason Github is so valuable: having the status checks run on every PR, automatically, is great. Even though I'm more of a fan of Buildkite when it comes to configuring the workflows, I still need something to kick them off when PRs change, etc.
Charging a per-workflow-minute platform fee makes a lot of sense and the price is negligible. They're ingesting logs from all the runners, making them available to us, etc. Helps incentivize faster workflows, too, so pretty customer-aligned. We use self-hosted runners (actually WarpBuild) so we don't benefit from the reduced default price of the Github-hosted runners, but that's a nice improvement as well for most customers. And Actions are still free for public repos.
Now if only they'd let us say "this action is required to pass _if it runs_, otherwise it's not required" as part of branch protection rules. Then we'd really be in heaven!
NewJazz
[delayed]
perbu
The reason this makes sense, at least for Github, is because the only valid reason to run your own action runners is compliance. And if you are doing it for compliance, price doesn't really matter. You don't really have a choice.
If you've been running your runners on your own infra for cost reasons, you're not really that interesting to the Github business.
CafeRacer
I needed arm64 workers, because x86 would take ~25 minutes to do a build.
llimllib
if it's useful, they do actually have arm workers now for linux and mac: https://github.com/actions/runner-images/tree/main?tab=readm...
justincormack
They have these now.
bdbdbdb
This seems backwards. Why charge for me to run the thing myself instead of them?
mindcrash
Because they know Forgejo is starting to get attention from major players and thus becoming competitive, and hosting your own CI infrastructure will make completely moving away from GitHub all that easier - If you don't really care about the metadata all it pretty much takes is moving git repositories with their history.
Or shortly summarized: lock in through pricing.
Pretty sure this will explode straight in their faces though. And pretty damn hard.
sallveburrpi
How can you lock in through charging money? Seems it’s like the opposite and they are charging because people are already locked in and they can or am I misreading your comment?
mindcrash
Microsoft "suddenly" does not seem to want you to run your own CI, which is a key part of running your own SCM. And this decision miraculously happens the moment a lot of big orgs are looking at self-hosting a cost effective (because open source) near 1:1 alternative to GitHub (=Forgejo).
So they make CI a bit cheaper but a future migration to Forgejo harder.
In fact they could easily pull off some typical sleazy Microsoft bullshit and eventually make it a shit ton harder to migrate out of GitHub once you migrated back in.
Vegenoid
The idea is that they let you stay locked in for free. They dissuade people from making their CI pipeline forge-agnostic by charging you if you if you take steps to not be dependent on them. This means they can keep charging in other areas, and keep people in GitHub so that it stays dominant. Dominance is something that can be used to keep people in the Microsoft ecosystem, keep GitHub as the place where code goes so they have training data for LLMs, and dominance can simply be cashed in down the line.
I don’t know if that’s actually why they’re doing this, but it sounds plausible.
newsoftheday
My view is it's their platform but it seems like a scummy move to tax selfhosters.
I checked out Forgejo's site just now, they are kind of politically oriented instead of code oriented so I wouldn't use them:
"Brought to you by an inclusive community under the umbrella of Codeberg e.V., a democratic non-profit organization..."
Inclusive == Strike 1 democratic == Strike 2
larkost
GitHub has still been managing the orchestration and monitoring of runs that you run on your own (or other cloud) hardware. They have just decided that they are no longer going to do this for free.
So the question becomes: is $0.002/minute a good price for this. I have never run GitHub Actions, so I am going to assume that experience on other, similar, systems applies.
So if your job takes an hour to build and run though all tests (a bit on the long side, but I have some tests that run for days), then you are going to pay GitHub $.12 for that run. You are probably going to pay significantly more for the compute for running that (especially if you are running on multiple testers simultaneously). So this does not seem to be too bad.
This is probably going to push a lot of people to invest more in parallelizing their workloads, and/or putting them on faster machines in order to reduce the number of minutes they are billed for.
I should note that if you are doing something similar in AWS using SMS (Systems Management Service), that I found that if you are running small jobs on lots of system that the AWS charges can add up very quickly. I had to abandon a monitoring system idea I had for our fleet (~800 systems) because the per-hit cost of just a monitoring ping was $1.84 (I needed a small mount of data from an on-worker process). Running that every 10 minutes was going to be more than $250/day. Writing/running my own monitoring system was much cheaper.
featherless
As a solo Founder who recently invested in self-hosted build infrastructure because my company runs ~70,000 minutes/month, this change is going to add an extra $140/month for hardware I own. And that's just today; this number will only go up over time.
I am not open to GitHub extracting usage-based rent for me using my own hardware.
This is the first time in my 15+ years of using GitHub that I'm seriously evaluating alternative products to move my company to.
hugs
feels like a new generation is learning what life is like when microsoft has a lot of power. (tl;dr: they try to use it.)
j45
Additionally, they could just self-host their code since code is data is a moat.
mfcl
They still run the whole orchestration.
If you don't want to pay, you'd have to not use GitHub Actions at all, maybe by using their API to test new commits and PRs and mark them as failed or passed.
bad_haircut72
Everyone who has Actions built into their workflow now has to go change it. Microsoft just conned a bunch more people with the same classic tech lock-in strategy they've always pursued, people are right to be pissed. The only learning to take away is never ever use anything from the big tech companies, even if it seems easier or cheaper right now to do so, because they're just waiting for the right moment to try and claw it back from you.
codeflo
One problem is that GitHub Actions isn't good. It's not like you're happily paying for some top tier "orchestration". It's there and integrated, which does make it convenient, but any price on this piece of garbage makes switching/self-hosting something to seriously consider.
hadlock
Github being a single pane of glass for developers with a single login is pretty powerful. Github hosting the runners is also pretty useful, ask anyone who has had to actually manage/scale them what their opinion is about Jenkins is. Being a "Jenkins Farmer" is a thankless job that means a lot of on-call work to fix the build system in the middle of the night at 2am on a Sunday. Paying a small monthly fee is absolutely worth it to rescue the morale of your infra/platform/devops/sre team.
Nothing kills morale faster than wrenching on the unreliable piece of infrastructure everyone hates. Every time I see an alert in slack github is having issues with actions (again) all I think is, "I'm glad that isn't me" and go about my day
QuercusMax
Yeah, it seems like a half-assed version of what Jenkins and other tools have been doing for ages. Not that Jenkins is some magical wonderful tool, but I still haven't found a reasonable way to test my actions outside of running them on real Github.
nextaccountic
Can someone share a Github bot that doesn't depend on actions?
I mean maybe https://github.com/rust-lang/bors is enough to fully replace Github Actions? (not sure)
reissbaker
You can use webhooks to replace Github Actions: https://docs.github.com/en/webhooks/about-webhooks
Listen to webhooks for new commits + PRs, and then use the commit status API to push statuses: https://docs.github.com/en/rest/commits/statuses?apiVersion=...
jjice
We have internal integrations with GitHub webhooks that will hit our server to checkout a branch, run some compute, and then post a comment on the thread. Not sure if you can integrate something like that to help block a PR from being merged like Actions CI checks, but you can receive webhooks and make API calls for free (for now). Would definitely result in some extra overhead to implement outside of Actions for some tasks.
baq
The scheduler isn’t free, I always wondered how the financials work on this one. Turns out they didn’t ;)
Anyway, GitHub actions is a dumpster fire even without this change.
naikrovek
Because they host the artifacts, logs, and schedule jobs which run on your runners, I assume.
progval
Then why do they charge by the minute instead of gigabytes and number of events?
falsedan
they charge you for artifacts and logs separately, already
gaigalas
I develop software, I also test and run it. All in my machines.
But you (yes, you personally) have to collect the results and publish them to a webpage for me. For free.
Would you make this deal?
falsedan
if you were paying me a monthly license fee for each developer working on your repos, I'd probably consider it
gaigalas
What happens if I am, and now my developers suddenly start to produce changes much faster? Like, one developer now produces the volume of five.
Would you keep charging the same rate per head?
shevy-java
So Microsoft is slowly killing it. Not surprising.
pixelpoet
Zig's decision to ditch GitHub actions seems remarkably prescient, no?
patrick4urcloud
yes ! i'm actually doing the same as i saw the safe_sleep.sh code on their runners ... insane story ...
defraudbah
this is the third article about it, we know, good times are over, will start migrating towards something else
shevy-java
It definitely adds to frustration for some people; this can not be denied.
sallveburrpi
don’t lie you’ll just bitch and moan and keep using it anyway
benced
Are there bring-your-own-agent CI platforms that don't have pricing structures like this? Buildkite and CircleCI do.
null
Seriously. They're charging me for using MY cpus? Forgejo incoming testing period..