Design investigation: Batched merge trains
DO NOT implement the proposal until it is through the investigation phase.
Phase | Due-date |
---|---|
|
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:
- Enable batch merge (MVC)
- Set interval(MVC)
- Configure
other
settings - Add an MR to a batch(MVC)
- Configure custom car(future iteration)
- follow through with failure(future iteration)
Further details
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.