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.