Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-38516

"Parsing cucumber.json" blocked by parallel job executions

      Steps to reproduce:

      1. Create a new freestyle job

      • Add a string parameter: WORK_FOLDER
      • Select "Execute concurrent builds if necessary"
      • Under "Advanced Project Options", select "Use custom workspace", and input ${WORK_FOLDER}
      • Build action: Invoke Maven 3 "mvn clean verify..."
      • Post-build action: "Publish cucumber test result"

      2. Execute the job twice (simultaneously) with different parameters:

      • WORK_FOLDER=foo
      • WORK_FOLDER=bar

      Expected behavior:

      • The two jobs run in parallel and complete independently, using their separate workspaces

      Actual behavior:
      One job will wait for the other job to complete. The jobs are dependent on each other in their post-build step.

      One job will hang at the step until the second job finishes:

      [Cucumber Tests] parsing cucumber.json
      

          [JENKINS-38516] "Parsing cucumber.json" blocked by parallel job executions

          noob alot added a comment - - edited

          noob alot added a comment - - edited I'm also affected by this issue. The plugin uses Checkpoints, which wait for the status of previous build: https://github.com/jenkinsci/cucumber-testresult-plugin/blob/master/src/main/java/org/jenkinsci/plugins/cucumber/jsontestsupport/CucumberTestResultArchiver.java#L167 This code was originally added here: https://github.com/jenkinsci/cucumber-testresult-plugin/commit/c4c0274ec9cb6d14a8155d5152823d4c271561ad#diff-49f27251bb42a6e90637f8082b4c7321 And was modified support pipeline builds: https://github.com/jenkinsci/cucumber-testresult-plugin/pull/8 https://github.com/jenkinsci/cucumber-testresult-plugin/pull/8/files#diff-49f27251bb42a6e90637f8082b4c7321R160 It seems the status/data of the previous build isn't used. I suggest removing the checkpoints.

          James Nord added a comment -

          See this comment

          The display of results and failing count etc needs to be updated.

          James Nord added a comment - See this comment The display of results and failing count etc needs to be updated.

          noob alot added a comment -

          Forgive my ignorance w Jenkins: What if the updating part was done in a separate thread so the build itself can complete?

          noob alot added a comment - Forgive my ignorance w Jenkins: What if the updating part was done in a separate thread so the build itself can complete?

          Maciej Szewczyszyn added a comment - - edited

          I've created a simple flag which allows you to ignore the checkpoints (and thus, blocking). You can find the change in my fork:
          https://github.com/MaciejSzewczyszyn/cucumber-testresult-plugin/commit/4577c13283ba36ec2adb22b97ffb4d9d5b4fd95c

          Seems to work okay so far.

          Maciej Szewczyszyn added a comment - - edited I've created a simple flag which allows you to ignore the checkpoints (and thus, blocking). You can find the change in my fork: https://github.com/MaciejSzewczyszyn/cucumber-testresult-plugin/commit/4577c13283ba36ec2adb22b97ffb4d9d5b4fd95c Seems to work okay so far.

            Unassigned Unassigned
            james_vaudry James Vaudry
            Votes:
            4 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: