File tree Expand file tree Collapse file tree 1 file changed +17
-1
lines changed
src/main/frontend/pipeline-graph-view/pipeline-graph/main Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ import {
1010 StageInfo ,
1111} from "./PipelineGraphModel" ;
1212import { layoutGraph } from "./PipelineGraphLayout" ;
13-
13+ import { Result } from "./PipelineGraphModel" ;
1414import { Node , SelectionHighlight } from "./support/nodes" ;
1515import {
1616 BigLabel ,
@@ -162,8 +162,24 @@ export class PipelineGraph extends React.Component {
162162
163163 let nodes = [ ] ;
164164 for ( const column of nodeColumns ) {
165+ const topStageState = column . topStage ?. state ?? Result . unknown ;
166+
165167 for ( const row of column . rows ) {
166168 for ( const node of row ) {
169+ // If the topStage is still running but one of its child nodes has completed,
170+ // the UI may incorrectly display the childs status instead of the topStages.
171+ // To ensure consistency, override the nodes state with the topStages state.
172+ // This issue is reproducible in the complexSmokes test.
173+ if (
174+ column . topStage &&
175+ 'stage' in node &&
176+ node . stage &&
177+ Array . isArray ( column . topStage . children ) &&
178+ column . topStage . children . includes ( node . stage )
179+ ) {
180+ node . stage . state = topStageState ;
181+ }
182+
167183 nodes . push ( node ) ;
168184 }
169185 }
You can’t perform that action at this time.
0 commit comments