Skip to content

Move build dependencies from Ci::Build to Ci::Processable

What does this MR do?

Related to #209070 (closed)

This MR is following !27326 (merged) where we extracted all the behavior related to job dependencies into Ci::Processable::Dependencies class.

In this MR we are moving the methods related to job dependencies from Ci::Build up to the Ci::Processable superclass. This way we make the behavior available also for Ci::Bridge.

Why is this needed?

In order to validate that a bridge job depends explicitly on a predecessor when using trigger:include:artifact we need to be able to validate that bridge.all_dependencies.include?(generator_job) where generator_job is the job that dynamically generates the CI YAML that is consumed by the bridge in order to create a child pipeline.

If the generator_job is not included in bridge.all_dependencies we should raise a syntax error. This last part will be implemented in a different MR.

TODO

This MR is currently targeting move-dependencies-to-processable branch. We need to change to master once !27326 (merged) is merged.

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Fabio Pitino

Merge request reports