Skip to content

Enable DAG for some jobs

What does this MR do?

This MR does the following changes to our pipeline in order to speed it up by parallelising jobs:

  • Makes several Test stage jobs not depend strictly on Prebuild stage, but rather on whether the Prepare stage has completed, allowing the 2 stages to run in parallel.
  • Makes Build stage jobs not depend strictly on Test stage, but rather on whether the Prebuild stage has completed, allowing the 2 stages to run in parallel.
    • New prebuild done job is used as a straw-man for the completion of the Prebuild stage, so that we we kick off the Build jobs as soon as that simple job from Test stage is completed.
  • Makes the static QA job depend on code_quality and all linting jobs depend on as few jobs as possible, so they can run ASAP and fail fast. This pipeline demonstrates that releases get built even if code_quality job fails.

The build pipeline was improved from ~46 minutes to ~29 minutes.

Why was this MR needed?

To make feedback to the developer as fast as possible by levering the DAG functionality.

Are there points in the code the reviewer needs to double check?

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Added tests for this feature/bug
  • In case of conflicts with master - branch was rebased

What are the relevant issue numbers?

#25457 (closed)

Edited by Tomasz Maczukin

Merge request reports