OS specific CI

This may be a silly question but I cannot figure out how to run different CI setups for different Operating Systems when using a shared runner.

Please point me in the right direction as I cannot seem to figure this out despite pouring over the docs for over a couple of hours…

@cxres You can use tags within the .gitlab-ci.yml pipeline definition to match jobs to a runner with that particular tag. So you can create a runner with a windows tag and target that runner by specifying the windows tag in your Windows related GitLab CI jobs.

Or use ansible :slight_smile:

@markglenfletcher I could not find a runner with osx or similar tag. Am I missing something?

Is it free?

ansible as such is free, but requires some setup - you could write a playbook, that runs your whole job and run it from your runner, but the target machines need to be pre-prepared. say - necessary libraries and so on. i think though that gitlab ci has a built in cmd and powershell executor. I think you should mess around with this:
https://docs.gitlab.com/runner/configuration/advanced-configuration.html