I tried using Gitlab's CI and was surprised at how limited it was. The Gitlab CI syntax was harder to follow, and my integration tests took 17m to run when they ran in almost 1/3 the time on Circle.
A big part of the problem was that CircleCI lets me use an instance with 8 CPUs / 16 GB RAM with just a config file change[0], whereas every Gitlab instance is 1 CPU / 3.75 GB RAM unless you host your own runners.[1] But if I'm paying a company to manage CI, I don't want to provision my own hardware infrastructure
[0] https://circleci.com/docs/configuration-reference#docker-exe...
[1] https://docs.gitlab.com/ee/ci/runners/saas/linux_saas_runner...