Skip to content

Resolve "Misleading message displays when MR request is first submitted"

What does this MR do?

This is the first part of a 2 part improvement to make the MR merge widget better reflect the reality of the process when pipeline must succeed option is turned on.

MR Changes
👉 Part I Change the misleading message in ready_to_merge widget to be clearer
[Part II] Add a loading state to the ready_to_merge widget so that we show it as checking availability for one minute before showing the generic message implemented in part 1.

Currently the issue we are seeing is if a project has Pipeline must succeed option turned on, when the MR is created, there are no pipelines yet (being processed by the runner) and so we get a cryptic error message that we are "unable to merge, please resolve the following items". So we want to implement a message that says that we are waiting after the pipeline. This however is not easily doable as we can't differentiate if:

  • A project has internal CI setup, and we are waiting after the pipeline
  • The project has external CI setup, and we are waiting after the pipeline
  • The user has a settings conflict where Pipeline must succeed is true, but there are no CI configured at all.

Because of this, we opted for a generic message that list why you might be blocked (either you are waiting after the result of your pipeline, or your configuration is invalid).

We had discussed adding some BE logic to allow us to know if there is a gitlab-ci.yml file in the project to give more accurate message, but that was a very expensive operation so we decided against it (see: #216048 (comment 367467054))

Issue: #216048 (closed)

Chart for conditions related to ready_to_merge widget Screen_Shot_2020-07-06_at_9.18.44_AM

Screenshots

Before

Screen_Shot_2020-07-02_at_2.03.50_PM

After

Screen_Shot_2020-07-07_at_1.57.27_PM

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Test that the states are all properly covered in unit tests.

Edited by Frédéric Caplette

Merge request reports