Skip to content

Extract Ci::Config model class

Fabio Pitino requested to merge extract-ci-config-from-pipeline into master

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

Merge request reports