That "infinite capacity" on public runners is a bait-and-switch because it only feels free until your project trip over the throttling rules or the next crypto miner ruins it for everyone. Self-hosted runners are an option, but most small teams don't want to babysit cattle just to run tests.

It's funny how we traded server maintenance for CI vendor lock-in and now keep circling back to which pain we hate more.