I love GitLab CI. We are too deep into GitHub Actions to migrate out of it. For every bullet-point above we've built something in house to workaround it. Things work, but it took many many months to get to the point where it is usable.
Ah, "too deep to stop digging now", I've been there -- good luck!
God bless. I can’t even get my team to stop using Jenkins for new projects.