We have this setup with 2 pipeline jobs, trigger_test and test:
Trigger_Test:
-> calls build job Test on different nodes (4 - 6) with wait:false so they run concurrently
-> needs to wait for Test to finish all builds, using isBuilding() and isInQueue to check if Test is still running
Test:
-> Runs same thing on different PCs and we measure the time.
Expected behavior:
-> the check on Trigger_Test is only true when all Test builds finish
Actual behavior:
-> the check on Trigger_Test is true when the last build finishes
[JENKINS-63380] Job.isBuilding() returns true when there is a build still ongoing
Description |
Original:
We have this setup with 2 pipeline jobs, trigger_test and test: Trigger_Test: -> calls build job Test on different nodes with wait:false so they run concurrently -> needs to wait for Test to finish all builds, using isBuilding() and isInQueue to check if Test is still running Test: -> Runs same thing on different PCs and we measure the time. ---- Expected behavior: -> the check on Trigger_Test is only true when *all* Test builds finish Actual behavior: -> the check on Trigger_Test is true when the *last* build finishes |
New:
We have this setup with 2 pipeline jobs, trigger_test and test: Trigger_Test: -> calls build job Test on different nodes (4 - 6) with wait:false so they run concurrently -> needs to wait for Test to finish all builds, using isBuilding() and isInQueue to check if Test is still running Test: -> Runs same thing on different PCs and we measure the time. ---- Expected behavior: -> the check on Trigger_Test is only true when *all* Test builds finish Actual behavior: -> the check on Trigger_Test is true when the *last* build finishes |