the rabbit hole goes deep, but both GitLab and GitHub reached parity around that time. (initially GitLab CI simply did a lot more, then GHA kind of took over with the ability to run multiple parallel workflows, and by arguably feeling a bit newer and having better "official" steps ... the GitLab auto-magic CI was ... always completely meh, IMHO.)
but GitLab kept adding the good stuff that Actions introduced, and it can do a lot of things, and with the Omnibus package it's very easy to self-host. (and upgrades are well supported, etc.) ... and of course GitHub self-hosting is only for enterprise editions.
sure, you can setup one GHA Runner on one VM (and each one one a new one), but that's it. nothing else is supported officially.
but GitLab kept adding the good stuff that Actions introduced, and it can do a lot of things, and with the Omnibus package it's very easy to self-host. (and upgrades are well supported, etc.) ... and of course GitHub self-hosting is only for enterprise editions.
sure, you can setup one GHA Runner on one VM (and each one one a new one), but that's it. nothing else is supported officially.