At least on drone 1.0(latest RC), there are steps for which the default clone step is always executed, even if the step is not meant to be executed.
Lets say a drone config defines a pipeline for push events and another for pull_request events.
Both pipelines will execute the default clone step even though only one runs at a time.
For big projects, one might grow as big as 50 pipelines(this is a rough low estimate for one of our projects).
Drone knows which piipelines are involved before starting to run them or, how would the UI know what to show?
So, why not go as far as inspecting if a pipeline is suppose to run for the current event?
If its not supposed to run, don’t even clone.
And, as a feature request(suggestion), don’t even show steps on the UI which are not supposed to run.
Can you imagine going through 100+ pipelines, half of which are skipped and the other half runs?
So, why not go as far as inspecting if a pipeline is suppose to run for the current event?
If its not supposed to run, don’t even clone.
hmm, I would probably need more details because this is how Drone works. You should be using the trigger section of the Pipeline to prevent the entire pipeline from being executed. The only exception is when you define trigger.status which is evaluated at runtime, and results in an entry in the database and user-interface.
Pipeline foo in the above example is executed for a push event, and Pipeline bar is ignored and no entry is created in the database (nor displayed in the user-interface) because we know up front that it can be skipped.
excellent, glad this was helpful. I would still ask that, if you have a build with 50+ pipelines that perhaps you provide a screenshot. We can show this to our UX designers so that future iterations of the UI can be optimized for such complex configurations.