2

Is it possible to somehow implement a merge trains in Azure DevOps, similar to what GitLab does?

Merge train example

Three merge requests (A, B and C) are added to a merge train in order, which creates three merged results pipelines that run in parallel:

The first pipeline runs on the changes from A combined with the target branch.
The second pipeline runs on the changes from A and B combined with the target branch.
The third pipeline runs on the changes from A, B, and C combined with the target branch.

1 Answer 1

2

No, Azure DevOps does not support merge trains. I think in your case, you can create a new branch (like a release branch) from the target one. Then merge your PRs one by one into it. If all goes well then create one PR from the release branch to the target branch.

6
  • It'll be hard to automate this, it should not just be done once, but continuously when there are new PRs coming in.
    – spydon
    Mar 7, 2022 at 13:00
  • @spydon maybe not easy but not super hard either Apr 26, 2022 at 8:25
  • @Prof.Falken how would you automate this?
    – spydon
    Apr 26, 2022 at 11:25
  • Create a new branch X1. Merge request A against it X1. Create branch X2. Merge requests A and B against X2. Create a new branch X3. Merge requests A, B and C against X3. Kick off pipe-line builds for branches X1, X2 and X3. Monitor their build status. Note if any build failed. If pipeline build for X3 failed but build for X2 passed, you can safely merge X2 into main. @spydon Apr 26, 2022 at 12:04
  • And where would this code live for such an automation, in the normal build pipeline? Seems quite hacky
    – spydon
    Apr 26, 2022 at 12:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.