Performance is one issue. Testability is another. How do you test your pipeline changes? I am aware there's a tool that uses Docker to simulate what GitHub does on the backend but last time I tried it, it didn't work. It's not even supported by GitHub themselves and doesn't run like the real thing.
Once again, I will praise SourceHut CI. Being able to just run a freestyle pipeline without needing to commit and push to see if it works is great, and you can even SSH in to the agent when things go wrong. This is how CI should be done.