Extract Ci::Config model class
What does this MR do?
In this MR I'm proposing a refactoring of Ci::Pipeline
by extracting all methods related to the yaml config into a dedicated Ci::Config
model. This new model will be responsible for defining what actual configurations are used to create a pipeline, among available options: repository, auto-devops, etc.
This removes noise from the Ci::Pipeline
model and keeps cohesive methods in one place.
Next step would be to also move config_processor
outside Ci::Pipeline
too.
I'm marking this MR related to #14376 (closed) because it would simplify code changes as we can implement the default "root configuration" inside Ci::Config
and should be transparent to Ci::Pipeline
and config processor.
Related issue: #14376 (closed)
Conformity
Edited by Fabio Pitino