Transient bug: `Merge when pipeline succeeds` button out of sync with pipeline status
Summary
Transient bug found in exploratory testing while investigating similar error:
- staging.gitlab.com: https://ops.gitlab.net/gitlab-org/quality/staging/-/jobs/3547786
Merge when pipeline succeeds
button does not detect when the MR pipeline succeeds. Fails to update status and user cannot select it to merge their MR.
User can work around issue by selecting the dropdown of the button and selecting Merge immediately
. Pretty confident that a page refresh syncs the state and the button changes to Merge and works.
Seems to be related to work in #300042 (closed)
Logged this as a separate issue as I did not see a specific instance of this state of mergeability logic.
Steps to reproduce
- Create a project
- Create a simple pipeline config with
only: merge requests
- Commit a new file, creating a new MR.
- Visit MR.
- Repeat until state occurs.
Example Project
In this repo you can view the simple pipeline config. While everything in this repo currently looks OK, MR's # 2 and # 5 both exhibited this behavior. The attached animated gif shows the workflow of MR # 5.
What is the current bug behavior?
Occasionally, the state of the MR pipeline and the state of the Merge when pipeline succeeds
button lose sync. The pipeline will succeed, but the button will stay Merge when pipeline succeeds
.
When the user attempts to click the button, the merge fails.
To work around the issue when in this state, the user must select the dropdown of the Merge when pipeline succeeds
button and select Merge immediately
. This will allow the MR to be merged. Video attached.
What is the expected correct behavior?
Merge when pipeline succeeds
should update to Merge
button and enable merging.
Relevant logs and/or screenshots
Output of checks
Results of GitLab environment info
On GitLab.com
Results of GitLab application Check
On GitLab.com