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_config method that creates Ci::Config directly
  • Adds feature flag optimize_list_config_variables to control the new behavior
  • Refactors extract_variables to handle both Ci::Config and YamlProcessor::Result objects
  • Removes unused verify_project_sha parameter from execute_yaml_processor
  • Wraps existing specs in shared examples to test both code paths

#599883 (closed)

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

Merge request reports

Loading