Design investigation: Batched merge trains

DO NOT implement the proposal until it is through the investigation phase.

Phase Due-date
👉 Investigation/Discussion 15th Feb 2024
Design exploration 22nd Feb 2024
Validation 22nd March 2024

Release notes

Problem to solve

Today, merge trains start a pipeline for every merge request added to the train. This can be very expensive for projects with slow pipelines as well as for teams with limited CI resources.

Context

Plan by @allison.browne

From a UX design perspective, I wonder how it would work? Would users add MRs to a batch car via a button and then at a set time interval we would run a single pipeline based on all of the MRs in the batched car. If it's green we could merge all the MRs starting from the ones at the front? What do you think?

If it's red we can start to determine the cause of the failure. This could be done using a bisect approach (as mentioned). It seems like we would want to have a high degree of confidence before adding it to the train because searching for failures could become sometimes become expensive.

Intended users

User experience goal

Proposal

Users stories to consider for proposal:

  1. Enable batch merge (MVC)
  2. Set interval(MVC)
  3. Configure other settings
  4. Add an MR to a batch(MVC)
  5. Configure custom car(future iteration)
  6. follow through with failure(future iteration)

Further details

#415838 (comment 1734817854)

Permissions and Security

Documentation

Availability & Testing

Available Tier

Feature Usage Metrics

What does success look like, and how can we measure that?

What is the type of buyer?

Is this a cross-stage feature?

What is the competitive advantage or differentiation for this feature?

Links / references

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by Veethika Mishra