weave-gitops-enterprise
weave-gitops-enterprise copied to clipboard
[Pipelines UI] Add Icon that shows promotion progress
Followup to #3428
- Determine criteria for the stages of the icon
- Ideally icon can be used in both cases seen here:
@joshri Do we need to discuss?
We need to determine the criteria for the different stages of progress for promotion so I can know what to look for
Hi @mmoulian and @joshri: These buttons should operate as either/or, yes/no, succeeded/not-succeeded-yet, instead of as markers tracking progress. So the behavior for now should be that the button remains light green until the promotion has succeeded, then switches dark green to indicate that the promotion has succeeded. Does that help?
If needed, I can prototype this behavior in Figma
Please do @mmoulian
@LappleApple and @joshri This is an initial prototype showing the behavior of the buttons and icon, maybe a little naive. It should be reviewed with someone with technical knowledge...
Actions: -The user clicks the button to Approve promotion. -While the promotion is taking place, we show a progress indicator (flashing circle animation) -When the promotion ends, the progress icon will appear in the circle and the text "Pull request merge"
-The user clicks the button to Approve promotion in the STG column -While the promotion is taking place, we show a progress indicator (flashing circle animation) -When the promotion is notified, the progress icon appears in the circle and the text "Notification sent"
-While the promotion is completed, we show a progress indicator (flashing circle animation) -When the promotion is complete, a full circle icon and the text "Promotion completed" will appear
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/f250e372-30ba-4df8-b88a-e770f039bbd0
@mmoulian Heya, thanks for working on this. However, it should behave exactly as I wrote earlier. The button should either be light green (promotion not successful yet) or green (promotion is successful).
@LappleApple Sorry, I'm a little confused about it. I understand that in design we have two areas of interaction.
- to do the action (button)
- to receive feedback. Typically, a button only has three states (enable, disable, active). So I guess the second area (feedback) has to change.
Then in the feedback area: -The circle should be light green and put the text "the promotion has not yet been successful." -Or green and put the text “successful promotion” It is right?
Does it happen in the first development column?
What happens in the Stg column?
Hi @mmoulian and @joshri: spent some time this afternoon digging into this one. Here's the Miro mockup with requested changes:
- Pipelines status tab: https://miro.com/app/board/uXjVMFiEhxc=/?moveToWidget=3458764566496135169&cot=14
- One minor related change on the new create/edit pipelines view: https://miro.com/app/board/uXjVMFiEhxc=/?moveToWidget=3458764566500249683&cot=14
As the mockup shows, behavior in the middle area between envs gets a bit busier now. We want to enable a few different prompts around the green promotion button, based on whether there's manual or automated approvals or whether there's a PR or notification strategy. I can explain in person if necessary.
@LappleApple and @joshri. I did a couple of prototype tests trying to follow Laurie's notes. It is an Automated Pull Request pipeline. I worked the first step between Dev and Stg.
- With a progress indicator (circular animation)
- Without progress indicator. @LappleApple Let me know if I'm on the right track
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/9b6d2673-de84-45f8-b573-8cf99eb3f3be
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/6694f751-c01b-4a5c-8782-12c21b36c9bb
@mmoulian I like the first one because it suggests "things are happening right now"
@LappleApple @joshri I made an example of manual approval behavior...
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/8fde0a98-23f5-4916-b23b-67152b3587b0
In the event that we have an error in the PR... the message disappears after a few seconds and the user can start again... wdyt?
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/1c5b87c3-23e0-45db-8e1f-4f3685e20b2f
@mmoulian Button progress is on the right track. :)
Next for the manual approval option, we'll want (repeating what's in the Miro, but moving over here):
- to see the PR number (hyperlinked) so users can know that the PR exists and go directly to it. It would look like this: "PR CREATED #123."
- A prompt UNSUCCESSFUL—TO RETRY by the button for situations like an inability to reach GitHub or a notification that doesn’t go through.
@LappleApple Please, check these movies:
-Manual approval: The PR is created (shows the link) -Manual approval: PR failed (a message shows the error) -Manual approval: The PR is not successful and is retried (not sure if it should be manual in this case)
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/8ebe1edb-7d68-409c-85c7-ae7c87c24069
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/5cc9e51b-e7a0-458e-9287-f736708fdd26
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/73a3a0e9-cb0c-4d16-afb3-1567d787f89e
@mmoulian Thanks much -- all good except one nit. We need the hyphen in the prompt, so that it says: UNSUCCESSFUL—TO RETRY
If that messes up the design, then this could work: UNSUCCESSFUL: TO RETRY
Fixed it
https://github.com/weaveworks/weave-gitops-enterprise/assets/95616291/5fd6df52-8647-4805-8800-3cf763a8003c
Blocked by weaveworks/pipeline-controller#197