Skip to content

Differentiate better between fork and non fork merge requests

Problem to solve

As a developer, I want to know if I am looking at a merge request originating from a fork project, so I more easily discover if a merge request is ready for merging or to expect additional tests from needing to run first probably invalidating a merge request from merging as the merge request has not been tested for those yet.

A forked merge request pipeline is often limited in its access to for example ci variables for security reasons. This means certain tests and jobs that have been setup to make sure the code is mergable can often not be run.

#217451 (closed) will implement a feature to make it possible to run this code on the parent project as a normal pipeline. However, it is not easy to currently discover if you are looking at a forked merge request, that potentially has pipelines run by a project member or not.

Intended users

User experience goal

When first looking at the merge request we want to make it very easy to recognize you are in a merge request originating from a forked project including what that means for this merge request.

Proposal

Merge request title bar improvement:

Text Mockup (Figma document) Badge Mockup
Frame_1__1_ Title_bar

Merge request widget "request" section:

Badge mockup (Figma document) Icon mockup
Widget_request_section__1_ Widget_request_section

Merge request widget "merge" section (Clearer additional alerts and info):

Old New (Figma document)
Widget_merge_section_improved Widget_merge_section__1_

Further details

Permissions and Security

Documentation

Availability & Testing

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

What is the type of buyer?

Is this a cross-stage feature?

Links / references