Show enhanced information on running deploys in MR Widget
Problem to Solve
Currently, environment information gets hidden when a newer pipeline is running. Also, as post merge pipelines currently replaces the feature branch pipeline, that information becomes hidden in a confusing way.
Further details`
Use case
When a deploy has happened which put the code in an MR into an environment, we show a message in the system information box saying so. As a developer working on that MR, I'd like to see when a deploy is actively happening that will deploy the MR to an environment. Usually, while the MR is open, this is covered by the running pipeline message, where I can click through and see that a deploy is going to happen, etc. But once the MR is merged, that pipeline notice goes away. But a deploy of that MRs code may still be ongoing. e.g. when a MR merges into master and triggers a deploy to staging. When the deploy is finished, a new message will appear, but again, nothing before the deploy is finished.
We now have a similar message on build detail pages that the build will deploy, and we can do that on MR pages too.
Considerations
This is how the review app link appears today when your pipeline has completed and the review app is available:
One additional issue is that if someone starts a new deployment the link to the latest review app disappears. The old one is still there and running (at least in normal cases) and there's still value to seeing the last version, with the affirmative understanding that it's actively being updated.
In busy merge requests, you may vary rarely or even never see the review app link unless this is changed. Instead of making the review app link disappear, it should still display a link to the currently running older review app along with a warning that a new deployment is already underway.
Solution
- Have either deploying/deployed states for environments information
- If it's the first time we're deploying, the link will be a 404
- During deployment the stop button will be disabled + tooltip explaining why
- If a pipeline fails to deploy, deployment info will be hidden
- Post merge deploys target branch pipeline is shown under merge section in merge request widget, including env information
-
Stop env button is hidden for post merge environmentsmoved to gitlab-ee#8148
BE patch additional edits
Changes will be done for 11.5 for BE only
-
merge request deployment “created” status will display the same as “running” status => pipeline is deploying to env
-
merge request deployment “cancelled” status will display the same as “failed” status => pipeline has failed deploying to env
It will reuse the existing FE for the “running” and “failed” status for the “created” and “cancelled” status.
What does success look like, and how can we measure that?
A person is able to:
- See both pre and post-merge pipeline + env information
- See the which deploys are in progress