How is it painful to use GitLab? Curious, as a user of both, I find them both nice. I like GitLab CI/CD more than I do GHA, but that's personal preference/bias more than anything objective.
Gitlab is pretty decent. Honestly I would say there's not much between GitHub and Gitlab. Gitlab's CI is more powerful than GitHub's IMO, but the UX is a bit worse. But it's really marginal.
They're both slow and have tons of long-standing missing features. But they're ok. I'd definitely rather use Gitea/Gogs/Forgejo, and maybe Tangled if it supported normal setups (e.g. private repos).
Everything about their UI/UX screams of doing the bare minimum to check off a box on a feature list. It reminds me of Jira.
Gitlab CI has some tech debt from accumulating geological layers of different ways to do things, but overall it's pretty good, it scales to more complicated setups, and it's not too painful.
Now the best way to use GHA is to do the bare minimum. Put all your CI logic in a script that you can test locally, and just have GHA run your script. Even that is painful. And, somehow, impossible to make secure without having spent 5,000 hours reading all the previous ways people got pwn'd by Github Action's horrendous security model.
My main problem with Gitlab is that after years I still can't find what I'm looking for in the UI. It's always exactly in the third place I look. Otherwise Gitlab has been good. Even self-hosted works pretty well.