The problem is GitHub spends on the order of $100m/year on providing free CI. Nobody else can compete with that. It's possible they could make it shit enough that a large number of projects will say "screw this we'll just pay for CI", but people really like free (and easy!) things so I think we are a long way from that point.
"Nobody else can compete with that"
My laptop is on all the time, make a WASM slave and thousands of developers can give their CPU/Memory/Disk for build slaves.
Like bitcoin mining, there could be some competition between 3 parallel builds to pick the winner if the output is the same.
> make a WASM slave and thousands of developers can give their CPU/Memory/Disk for build slaves
WASM isn't a magic bullet for sandboxing. CI environments assume a full Linux. So you need to either ran a VM (with the attack surface that implies) or a write an x86 emulator in WASM (which would be very slow).
You also need anti-abuse to stop bitcoin miners from using your system. GitHub probably have full-time employees working on it.
> Like bitcoin mining, there could be some competition between 3 parallel builds to pick the winner if the output is the same.
It's a lot more complicated because many builds are not deterministic, you need to store artefacts, build secrets, etc.
Companies like golem.network or iex.ec have been working on this problem for a decade and they are still not easy to use.
And yet, GitHub Actions are notoriously broken, and serious customers are self-hosting their runners.
Codeberg does have some free CI runners, although I’m not sure what capacity they currently have, and how well it would work out if everybody decides to switch from GitHub today. They do encourage you to pick the smallest runner that works for you, and keep the workflows lean: https://codeberg.org/actions/meta
Or you can self-host your own runners too, of course.
Edit: there’s one caveat – Forgejo Actions are Linux only. If you need Windows or macOS runners, this won’t work for you. But... you could have a readonly GitHub mirror (which you should probably do if you want people to discover your project), and use the GitHub Actions runners for free :-)