Decouple scoped variables from the job record on pipeline creation
What does this MR do and why?
Decouple scoped variables from the job record on pipeline creation
When creating a new pipeline we use rules to evaluate if a job can be
a part of the pipeline. To do this, we need to have access to variables.
And, variables could only be generated through a Ci::Build
object.
In this MR, we are decoupling scoped variables from Ci::Build
objects
in the pipeline creation process. With that, we expect more performant
variables calculation.
The main idea is that we create a new method to calculate variables when seeding builds; seed_scoped_variables
.
These changes are behind
the FF ci_variables_optimization_for_yaml_and_node
(#470827 (closed)).
- Related to: #350057 (closed).
- Previous attempt: !158428 (merged).
- More information about the performance optimization: &14348 (comment 1982576223).
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.