At getstream.io we ended up running Github Actions on Hetzner. The end-result is 4x faster builds for 3x less $$$.
Running workers ourselves was the last resort, we tried everything else but it was impossible to get fast (and consistent) build times otherwise.
In a way we are now going to get charged for Github's poor execution on Actions.