Bug 2019885

Summary: More informative pipeline run status reporting required in the web UI
Product: Red Hat OpenShift Pipelines Reporter: Mark Roberts <marrober>
Component: pipelinesAssignee: Karthik Jeeyar <kjeeyar>
Status: NEW --- QA Contact: Ruchir Garg <rgarg>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 1.6CC: cboudjna, kbaig, nikthoma, pgarg, rbehera, sashture
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Example of status showing 'Succeeded' when a task has been skipped none

Description Mark Roberts 2021-11-03 14:34:02 UTC
Created attachment 1839625 [details]
Example of status showing 'Succeeded' when a task has been skipped

Description of problem:

At the moment when a pipeline run ends, the status will either show 'Succeeded' or 'Failed'. It would be helpful if there was a third option such as 'Partially succeeded' for when tasks have been skipped.

Version-Release number of selected component (if applicable):

Applies to all versions

How reproducible:

Easily reproduced by including a pipeline run in which a when condition causes a task to be skipped.

Steps to Reproduce:
1. Create a simple pipelinerun with two tasks
2. Ensure the execution of the second task depends on a result from the first task that will not be set.
3. Run the pipeline.

Actual results:
Pipeline status on the Web UI always shows as "Succeeded". Several customers (Boeing, Lloyds Banking Group and NatWest) have all stated that this result is misleading and does not give an indication that a task has been skipped.

Expected results:

Display an alternative wording to indicate partial success. JSON output of the pipeline run has fields in status.conditions[0].reason == completed when some tasks are skipped. When all tasks are executed successfully this field has a value of succeeded. The field status.conditions[0].message indicated how many tasks have been skipped and this is also provided by the number of items in the array status.skippedTasks. 
Additional info:
The attached file shows an example of status showing 'Succeeded' when a task has been skipped.