-
Bug
-
Resolution: Unresolved
-
Minor
-
None
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
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.