Add 'include' key to .gitlab-ci.yml

We have a local deployment of GitLab with around 20 VMs running gitlab-ci-multi-runner. We have 50+ projects that all compile exactly the same way on the build slaves, but due to having to support 5+ Linux distros, MacOSX and Windows (7, 8.1, 10) we end up with huge .gitlab-ci.yml files that are identical in every project. When we add a new distro, for example RHEL has recently become free so we would like to add that, we have to go through all projects (even with a script, it's tedious) and add it to the .gitlab-ci.yml.

It would be brilliant if we could include a single file for each project using an includes key:

includes:
  - https://our.webserver.com/ci/slaves/cxx/.gitlab-ci.yml

I would envision the includes key would work as a list of URIs, so local file includes would work as well. I guess to start off with if file://, http:// and https:// would work that'd cover a lot of peoples use cases.

Another option is that you could upload a YAML file in the GitLab UI and give it a name then the GitLab runner could retrieve those? Maybe that could be a later step.

We would be happy to implement and support this if it is something that the project would accept and could point us in the right location to implement!

Assignee Loading
Time tracking Loading