in reply to Aleca

I use GitLab for my projects, their CI works well enough but only if you host your own runners. GitLab's atrociously garbage free CI minutes mean that CI as a merge request validation step is basically impossible, as merge requests' CI runs on the submitter's account and runners not your project's runners and if the submitter doesn't have any CI minutes (they almost certainly won't) then the jobs don't run. It used to be awesome before they nerfed their CI into the ground.