This - I had to move to GitLab from GitHub recently and getting all the tests to run with the new agents was 99% of my time. Pushing a git repo to a new remote is nothing.
That's because current CI platforms are the new lock-in. If you'd go the otherway around it'd cost you the same amount of time. It's a horrible abstraction layer.
Yeah I try and keep my stuff to depending on the bare miniumum i.e. bash/Docker/etc (jq and maybe Python) but invariably there is something that needs to change.