-
Notifications
You must be signed in to change notification settings - Fork 268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve display of when expressions and retries #1445
Comments
The PipelineRun has actually passed. One of the Condition checks failed (the red item in the TaskTree) so a Task was skipped, but this doesn't affect the PipelineRun status and it was still successful. |
Yeah, so that's an interesting one - think it from a dev team's perspective (CI/CD set up on their GitHub repository, lots of folks just looking to build/push, but maybe not to master yet, lots of Pipelines) - they're gonna see loads of red builds (on the PipelineRuns/TaskRun page) when really things were built fine but the condition failed (maybe the condition is: was it a push to master), and they wouldn't know to click on through. @AlanGreene you may have considered this already but how about a new status icon (orange perhaps?), and this means the PipelineRun/TaskRun passed but, warning, one or more conditions failed? Or a warning icon? Getting a sense of deja vu... https://github.com/pipeline-hotel/example-pipelines/blob/master/triggers-resources/config/github/buildah/deployment-condition.yaml being the condition in question that Megan's used. So I agree there isn't a problem here but there's scope for making things better. |
Yeah I agree there's scope for improvement here and thought we had an issue tracking that but can't find it now. I'm gonna repurpose this one. |
Found the original issue: #1340
|
Updated to include #1574 Original description from that issue:
It might also be useful to consider some of the recent discussions about display of TaskRun retries as it shares some concerns with the UI becoming cluttered with potentially unimportant information. |
also agree with the note in the op about non-firing conditions being flagged as the color red. Makes it a bit misleading. different icons or "look" for conditions to differentiate? |
any rough eta when this feature might be out? everyone on my team that sees the dashboard, gets immediately confused by the red/green, where the red is just "conditions" "failures" |
One thing to note, I believe this is the main issue we're using for tracking this, @AlanGreene correct me if I'm wrong, this was pointed out on the working group call today when I gave our update: Quoting @dibyom So unfortunately for @bitsofinfo this may not be something resolved quickly - totally agree with your points too! @eddycharly @steveodonovan FYI as well |
@a-roberts yes this is the right one. I had been planning to move conditions checks and retries into their owning TaskRun in the UI to reduce the clutter in the TaskTree component, but with Conditions going away and custom Tasks possibly supporting sub-pipelines we may need to revisit this and come up with a different design. I'll review the colour option as a short-term solution to reduce confusion, here's a rough mockup of some related changes I had in mind to tone down the heavy block colours which should help too: That design would also address some feedback we've received from multiple users about wanting to easily view status of steps in multiple TaskRuns in parallel as it would allow expanding multiple TaskRuns in the list. There are a few more things to work out there, but the colour change would be a nice improvement while we iron out the rest of the details. |
The design update mentioned above is being tracked in #1775 and is currently in progress. Once the initial updates are merged we can start tackling the changes for retries. I would suggest holding off on making changes for Conditions since they're deprecated. |
From the Carbon color usage guide the most appropriate colour appears to be In Carbon's gray 10 theme this is Alternative colours if this doesn't work out are:
|
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
Many parts of this are still needed / wanted, in particular the improvements to display of retries. Freezing so it doesn't get auto-closed. /lifecycle frozen |
If we're going with We should also test that it still looks OK in dark mode. This is not enabled by default yet as there are still a few improvements needed, but you can test it by setting a flag in localStorage via the browser console: You can disable it by clearing localStorage: |
Oh, I just know how to set the dark theme. 😆 Here's on dark mode: I think we can choose |
Note to self: We should also consider potential impact on the graph view. Would when expressions be rendered separate from the guarded task or as some sort of additional metadata / visual annotation? Retries make sense to be treated as part of the task rather than cluttering the UI with additional fake TaskRuns as we do today. |
/area roadmap |
#3062 updates the way retries are displayed in the UI. Instead of each retry being displayed as if it were an independent TaskRun on the PipelineRun details page, they're now correctly collapsed into a single entry and an overflow menu is provided to switch between the retries if desired. This provides a much clearer experience as a successful PipelineRun will show no red / error states by default. It also allows for viewing logs of the retries on the TaskRun details page which were previously not available. This change will be included in the upcoming v0.39.0 release due in the next ~1 week. |
This should also include support for when expressions with StepActions https://github.com/tektoncd/pipeline/blob/v0.62.2/docs/stepactions.md#controlling-step-execution-with-when-expressions |
#3651 improves the display of skipped tasks, making it clearer to users that these are skipped and not actually pending. The corresponding when expression or other relevant reason is displayed in the taskrun status, and the log container clearly identifies that no logs will be displayed due to the task being skipped. It also updates skipped steps / step actions to be clearly identified as such instead of displaying them as successfully completed. This will be available in the next nightly release, and included in Dashboard v0.52.0 which is expected in the next week or so. Further improvements will be made as part of #2306 |
This is now available in https://github.com/tektoncd/dashboard/releases/tag/v0.52.0 |
Expected behavior
If a Condition fails in my PipelineRun it should be displayed clearly on the PipelineRun details page.
Successful Conditions should not distract from other TaskRuns in the PipelineRun, especially when there are many of them. (originally reported in #1574)
Actual behavior
The failed Condition is rendered the same as a failed TaskRun which can be confusing for users. See 'deployment-condition' in the screenshot:
The use of red + error icon suggests a problem, but this is not the case. A failed Condition does not affect the PipelineRun status and is often expected. We should consider a different icon / colour / label to differentiate between failed Conditions and other TaskRuns.
Also for Pipelines making heavy use of Conditions it can be difficult to focus on the 'interesting' content and creates a very busy UI.
Additional Info
This happened with a PipelineRun triggered by a webhook when I opened a pull request...
YAML here:
The text was updated successfully, but these errors were encountered: