Cannot assign job to runners with different set of tags
According to the docs, if your job definition looks like this:
build job:
script:
- ...
tags:
- linux, continuous
- windows, continuous
then the job will be assigned to runners that have all the listed tags. This makes the above example semantically wrong, since it is very unlikely that a runner has both a 'linux' and 'windows' tag.
The workaround is that you have to duplicate the job definition, like this:
linux build job:
script:
- ...
tags:
- linux, continuous
windows build job:
script:
- ...
tags:
- windows, continuous
This makes the gitlab CI file redundant and harder to maintain.
Would it be possible to change the semantics and use "OR" between the lines and "AND" within tags in one line (separated by comma)?
I understand that this would break the current CI files, but it would be a simple and useful improvement.
Maybe a new keyword 'runners' could be introduced that follows the new semantics, and the 'tags' keyword could be made deprecated. This would avoid the potential confusion with git tags as well.