Can I ask what specific pain points you have with Gitlab CI? I've been using it extensively the last couple of years and all in all it's been a pretty smooth experience!
* Bad error handling. Ruby errors leak through. Although the underlying error is my user error, returning it to me as an underlying Ruby exception is really unhelpful. It basically shows that they didn't validate inputs at all. The input is trusted, so it's probably not a security issue, but it's a huge usability and developer experience issue.
* Config format is weird and deficient. Surprisingly difficult to programmatically generate. Can't generate new jobs into the current pipeline. Must generate child pipelines. See above for the load amplification issue therein.