jenkinsci / pipeline-graph-view-plugin

https://plugins.jenkins.io/pipeline-graph-view/
Other
109 stars 56 forks source link

On the job page failed pipelines with nested failed parallel page are not rendered failed (possible duplicate of #222) #327

Open jonesbusy opened 9 months ago

jonesbusy commented 9 months ago

Jenkins and plugins versions report

Environment ``` Jenkins: 2.426.2 OS: Linux - 5.15.133.1-microsoft-standard-WSL2 Java: 17.0.9 - Eclipse Adoptium (OpenJDK 64-Bit Server VM) --- active-directory:2.34 analysis-model-api:11.15.0 ansible:307.va_1f3ef06575a_ ansicolor:1.0.4 ant:497.v94e7d9fffa_b_9 antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 artifact-manager-s3:843.v87eb_5414d596 asm-api:9.6-3.v2e1fa_b_338cd7 atlassian-bitbucket-server-integration:4.0.0 authentication-tokens:1.53.v1c90fd9191a_b_ aws-credentials:218.v1b_e9466ec5da_ aws-global-configuration:130.v35b_7b_96f53c3 aws-java-sdk-ec2:1.12.633-430.vf9a_e567a_244f aws-java-sdk-minimal:1.12.633-430.vf9a_e567a_244f basic-branch-build-strategies:81.v05e333931c7d bitbucket-kubernetes-credentials:280.vb_a_1899d8eb_78 bootstrap5-api:5.3.2-3 bouncycastle-api:2.30.1.77-225.v26ea_c9455fd9 branch-api:2.1144.v1425d1c3d5a_7 build-blocker-plugin:1.7.9 build-discarder:139.v05696a_7fe240 build-name-setter:2.4.0 build-user-vars-plugin:1.9 build-with-parameters:76.v9382db_f78962 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.0.2 cloudbees-bitbucket-branch-source:866.vdea_7dcd3008e cloudbees-folder:6.858.v898218f3609d code-coverage-api:4.99.0 commons-lang3-api:3.13.0-62.v7d18e55f51e2 commons-text-api:1.11.0-95.v22a_d30ee5d36 config-file-provider:959.vcff671a_4518b_ configuration-as-code:1775.v810dc950b_514 coverage:1.9.0 coverage-badges-extension:27.v943f8d610436 credentials:1311.vcf0a_900b_37c2 credentials-binding:657.v2b_19db_7d6e6d custom-folder-icon:2.12 customizable-header:69.v36de0f11b_d00 customize-build-now:17.ve5db_875e5343 dark-theme:416.v535839b_c4e88 data-tables-api:1.13.8-2 database:230.v701f20b_8b_f95 database-postgresql:100.v2418e0a_c6909 display-url-api:2.200.vb_9327d658781 docker-commons:439.va_3cb_0a_6a_fb_29 docker-workflow:572.v950f58993843 dotnet-sdk:1.4.0 dtkit-api:3.0.2 durable-task:543.v262f6a_803410 echarts-api:5.4.3-2 email-ext:2.104 embeddable-build-status:467.v4a_954796e45d extended-read-permission:53.v6499940139e5 extension-filter:102.v3c515b_7a_9efb_ extra-tool-installers:113.v5d95d475e985 file-operations:177.vd1773063d935 file-parameters:316.va_83a_1221db_a_7 flyway-api:9.22.3-35.v1ed612b_0c48a_ flyway-runner:100.vf233c00b_3479 font-awesome-api:6.5.1-2 forensics-api:2.3.0 generic-tool:1.1 git:5.2.1 git-client:4.6.0 git-forensics:2.0.0 git-parameter:0.9.19 github:1.37.3.1 github-api:1.318-461.v7a_c09c9fa_d63 github-branch-source:1772.va_69eda_d018d4 github-checks:554.vb_ee03a_000f65 gitlab-api:5.3.0-91.v1f9a_fda_d654f gitlab-branch-source:684.vea_fa_7c1e2fe3 gitlab-kubernetes-credentials:206.v54a_3818b_b_493 gradle:2.9 gson-api:2.10.1-15.v0d99f670e0a_7 h2-api:11.1.4.199-12.v9f4244395f7a_ handy-uri-templates-2-api:2.1.8-30.v7e777411b_148 hidden-parameter:237.v4b_df26c7a_f0e htmlpublisher:1.32 http_request:1.18 implied-labels:295.v770c54615e6a_ inline-pipeline:1.0.3 instance-identity:185.v303dc7c645f9 ionicons-api:56.v1b_1c8c49374e jackson2-api:2.16.1-373.ve709c6871598 jacoco:3.3.5 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:243.vb_b_503b_b_45537 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.9-1 jdk-tool:73.vddf737284550 jersey2-api:2.41-133.va_03323b_a_1396 jjwt-api:0.11.5-77.v646c772fddb_0 job-dsl:1.87 jobcacher:409.vc3fde9f9b_f30 joda-time-api:2.12.6-21.vca_fd74418fb_7 jquery3-api:3.7.1-1 jsch:0.2.16-86.v42e010d9484b_ json-api:20231013-17.v1c97069404b_e json-path-api:2.9.0-33.v2527142f2e1d junit:1256.v002534a_5f33e junit-attachments:205.vc0677977deb_0 junit-sql-storage:282.v0b_9d0f91b_cec kubernetes:4179.v3b_88431df708 kubernetes-client-api:6.9.2-239.ve49a_3f285167 kubernetes-credentials:0.11 kubernetes-credentials-provider:1.258.v95949f923a_a_e ldap:711.vb_d1a_491714dc locale:431.v3435fa_8f8445 lockable-resources:1232.v512d6c434eb_d login-theme:108.vf74a_83b_2238b_ mailer:463.vedf8358e006b_ mapdb-api:1.0.9-28.vf251ce40855d mask-passwords:173.v6a_077a_291eb_5 matrix-auth:3.2.1 matrix-project:822.v01b_8c85d16d2 metrics:4.2.18-442.v02e107157925 mina-sshd-api-common:2.12.0-90.v9f7fb_9fa_3d3b_ mina-sshd-api-core:2.12.0-90.v9f7fb_9fa_3d3b_ mstest:1.0.5 next-build-number:1.8 next-executions:266.v11eb_5fa_496fb_ nodejs:1.6.1 nunit:465.v0324954b_2990 okhttp-api:4.11.0-157.v6852a_a_fa_ec11 opencover:79.v78d40e1fc27e openshift-client:1.1.0.424.v829cb_ccf8798 openshift-k8s-credentials:142.v25ec6b_7a_965c pam-auth:1.10 parameter-separator:129.v86b_98b_cb_5274 parameterized-scheduler:255.v73827fcdf618 parameterized-trigger:787.v665fcf2a_830b_ pipeline-build-step:540.vb_e8849e1a_b_d8 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-graph-view:214.v6e2833d3fea_9 pipeline-groovy-lib:700.v0e341fa_57d53 pipeline-input-step:477.v339683a_8d55e pipeline-maven:1368.vfb_8509d7b_869 pipeline-maven-api:1368.vfb_8509d7b_869 pipeline-maven-database:1368.vfb_8509d7b_869 pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2175.v76a_fff0a_2618 pipeline-model-definition:2.2175.v76a_fff0a_2618 pipeline-model-extensions:2.2175.v76a_fff0a_2618 pipeline-npm:155.ve2e393062d86 pipeline-rest-api:2.34 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2175.v76a_fff0a_2618 pipeline-utility-steps:2.16.1 plain-credentials:143.v1b_df8b_d3b_e48 platformlabeler:2325.v8f074df8840d plugin-util-api:3.8.0 postgresql-api:42.6.0-31.vb_7e76dc13969 postgresql-fingerprint-storage:219.vb_649f0b_3c9b_0 prism-api:1.29.0-10 prometheus:2.5.1 pubsub-light:1.18 purge-build-queue-plugin:88.v23b_97b_f2c7a_d resource-disposer:0.23 scm-api:683.vb_16722fb_b_80b_ scm-filter-branch-pr:115.v4705a_3a_4df58 script-security:1313.v7a_6067dc7087 sidebar-link:2.4.1 simple-theme-plugin:176.v39740c03a_a_f5 skip-notifications-trait:313.vd1337c8f8134 snakeyaml-api:2.2-111.vc6598e30cc65 sonar:2.17.1 ssh-agent:346.vda_a_c4f2c8e50 ssh-credentials:308.ve4497b_ccd8f4 ssh-slaves:2.948.vb_8050d697fec sshd:3.322.v159e91f6a_550 strict-crumb-issuer:2.1.1 structs:337.v1b_04ea_4df7c8 theme-manager:215.vc1ff18d67920 timestamper:1.26 token-macro:400.v35420b_922dcb_ trilead-api:2.133.vfb_8a_7b_9c5dd1 uno-choice:2.8.1 variant:60.v7290fc0eb_b_cd versioncolumn:233.v2d198f8212a_2 warnings-ng:10.7.0 workflow-aggregator:596.v8c21c963d92d workflow-api:1283.v99c10937efcb_ workflow-basic-steps:1042.ve7b_140c4a_e0c workflow-cps:3837.v305192405b_c0 workflow-durable-task-step:1313.vcb_970b_d2a_fb_3 workflow-job:1385.vb_58b_86ea_fff1 workflow-multibranch:773.vc4fe1378f1d5 workflow-scm-step:415.v434365564324 workflow-step-api:657.v03b_e8115821b_ workflow-support:865.v43e78cc44e0d ws-cleanup:0.45 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

any

Reproduction steps

Use following pipeline

pipeline {
  agent none
  stages {
      stage('Tests 1') {
          parallel {
              stage('Test a') {
                  steps {
                      echo('Test a')
                  }
              }
              stage('Test b') {
                  steps {
                      echo('Test b')
                  }
              }
              stage('Test c') {
                  steps {
                      echo('Test c')
                  }
                  when {
                      expression { false }
                  }
              }
              stage('Test e') {
                  steps {
                      echo('Test e')
                  }
              }
          }
      }
      stage('Tests 2') {
          steps {
              echo('Test d')
          }
      }
      stage('Tests 3') {
          steps {
              echo('Test f')
          }
          when {
              expression { false }
          }
      }
      stage('Tests 4') {
          steps {
              echo('Test g')
          }
      }
  }
  post {
      success {
          println('Successfuly validated parallel steps')
      }
      failure {
          println('Unable to validate parallel steps')
      }
  }
}

Expected Results

The parent stage should be red or it should be clear the pipeline failed when checked on the job page.

It's impossible to see the difference between a successful or failed build

job_page

The build page look already good

build_page

Actual Results

It should be clear on the job page that a pipeline has failed

Anything else?

Possible duplicate of https://github.com/jenkinsci/pipeline-graph-view-plugin/issues/222

But concern the job page view

Are you interested in contributing a fix?

No response

reid-p commented 8 months ago

I've noticed the same issue some times, seems to depend on the order the failures occur.

overview

868: 868

869: 869

timja commented 8 months ago

Sure a job status should show up at least even if collapsed.