Parallel steps synchronization

My deployment process looks like below:

  1. Stop services

  2. Deploy service 1 (Parallel)

  3. Deploy service 2 (Parallel)

  4. Start services

Step 3 takes more time over step 2. Does step 4 gets executed when BOTH of step 2 and 3 finishes? I can’t seem to find this information in the doc. A simple test suggests that it works this way but I would like to be absolutely sure about it. Thanks.

Hi Baozhiyu,

Thanks for getting in touch! I just did a quick test with 3 steps and and two different logic based on time completed. Step 1 and 2 were parallel and Step 3 told to run on previous step to complete, then start.

Step 2 wait for 20 sec 
Step 3 wait for 10 sec```

```Step 1 wait for 20 sec
Step 2 wait for 40 sec
Step 3 wait for 10 sec```

In both cases step 3 would not run until both step 1 and 2 had both completed. Both step 1 and 2 were marked as completed at the same time in both scenarios. And even though the underlying PowerShell for the 20 sec wait was green and had completed, it still waited for it's 40 sec counterpart. So the logic is confirmed. We had to set a 'policy' in this case, as like your scenario what happens if they run longer than each other. We also had to consider steps with child steps (we decided this would open too many issues) that we had to not allow them any parallelism functionality.

Hope that helps!

Thank you Vanessa!