Optimize ListConfigVariablesService to use Ci::Config directly
What does this MR do and why?
Optimizes Ci::ListConfigVariablesService by using Ci::Config directly instead of YamlProcessor to extract pipeline variables with prefill data.
Why: YamlProcessor performs unnecessary work for this use case - job normalization, validation, and dependency checking - when we only need to extract root-level variables.
Changes:
- Adds
build_ci_configmethod that createsCi::Configdirectly - Adds feature flag
optimize_list_config_variablesto control the new behavior - Refactors
extract_variablesto handle bothCi::ConfigandYamlProcessor::Resultobjects - Removes unused
verify_project_shaparameter fromexecute_yaml_processor - Wraps existing specs in shared examples to test both code paths
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Laura Montemayor