I have a pipeline with 2 initial steps that need to run in parallel and then the next three steps also need to run in parallel. However, once the first 2 steps complete, none of the others steps are picked up. An example of drone file that I am using is here:
step execution is handled by the runner. have you checked to ensure you are using the latest version of the runner? The latest stable version of the docker runner is drone/drone-runner-docker:1.5.3.
If the problem is not resolved by using the latest runner, we would ask you to provide a full yaml that can be used to reproduce. There is some important information missing from the yaml you provided (such as the pipeline type) and having a full yaml to reproduce can make things easier for us. Lastly, we would kindly ask for your full runner logs with trace logging enabled.
Also, if you are using the kubernetes runner, please keep in mind the kubernetes runner is in Beta and is still being actively developed and may not be suitable for production use (it seems to work better on some kubernetes distros / managed providers than others). For production use, we recommend the Docker runner.
Thanks for the quick response. We are indeed using drone-kube-runner and not the docker runner. I understand it’s beta version. I would still like to share the behavior that I am seeing and just get some feedback if I am doing something wrong.
After running more tests, I found that if there are multiple parallel steps with one step having a condition that is not fulfilled then none of the steps start executing.
The exact pipeline yaml is posted below. The issue I am seeing is that the steps jest_1, jest_2, cypress_1, cypress_2, cypress_3 never start executing. This happens when the triggering event is pull_request. Interestingly, if I allow the build step to run for the pull_request event then in that case these steps start executing. Maybe it has something to do with the fact that build step has the same depends_on configured like these other steps except it has a condition to only run when the event is tag.
beta.5 includes many code improvement and fixes since beta.4, so please test with this latest tagged release and let us know if the problem persists.
edit: also if the problem does persist, please enable trace logging on the runner and post the full trace logs for the pipeline execution and a sample yaml that can be used to reproduce.
However, if I change the depends_on for the build step then the pipeline just endlessly keeps on running, the cypress-xvfb step which is a service is the one that keeps on running even when all the other steps have finished successfully. The correct behavior should be that the service stops automatically once all the other steps are completed. Is there a way to stop the service after the other steps are completed?