Extract "config_processor" from "Ci::Pipeline"

The Gitlab::Ci::YamlProcessor is coupled with the Ci::Pipeline model. This means that in order to process the CI configuration file to create a pipeline it has to be accessed through a Ci::Pipeline object. This not only creates a circular dependency on the existence of Ci::Pipeline object but also couples it too much to a specific implementation of CI configuration.

This would bring benefits to issues such as: #16094 (closed) and #14376 (closed).

With this refactoring we would be able to call YamlProcessor from outside of the pipeline.

Assignee Loading
Time tracking Loading