Azure Pipelines give free 10 concurrent runners for open source projects
and can connect with GitLab instances for CI/CD. We use it in FreeIPA
in our GitHub pull request review process. The runners are fairly easy to
configure; they run Ubuntu 16.04 but include Docker so it is possible to
do a lot more. FreeIPA runs tests on containerized Fedora 30, for example.
And Azure Pipelines also have Windows and macOS runners:
https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?vie
w=azure-devops
If you are interested, I can share my experience on setting it up. I
haven't tried Windows images as I didn't need them but the rest is quite
well working.