Closed stevenleeS0ht closed 3 years ago
Thank you for taking the time to submit a proposal. We have strict promise toward backward compatibility and we want to avoid breaking existing pipelines as much as possible (see below statement from the readme). Setting aside the merits of the proposal (parallel vs sequential) I would recommend against this change due to the fact that it would have a significant, negative impact on our existing users and their existing pipelines.
Drone is a mature project with thousands of active installations, as such, significant or breaking yaml changes are unlikely to be accepted.
@bradrydzewski , Is there any way to explicitly enable the parallelism?
If in a pipeline, each step is relevant (same arch, same os) but not dependent to each other, how to make them run in parallel?
pipeline steps are sequential. pipeline stages are parallel by default
When you define multiple Pipeline objects in the same configuration file, pipelines are spread across runners and executed in parallel [1]
I am going to close and decline this proposal since it would require breaking changes. Please keep in mind Drone is a large project used by hundreds of thousands of repositories, and we cannot make changes that would break the pipelines for hundreds of thousands of repositories.
[1] https://docs.drone.io/pipeline/configuration/#multiple-pipelines
Currently inside a pipeline, Drone execute sequentially by default. If add
depend_on
entry, it will be done in parallel.If there is different pipeline in a
.drone.yml
, I don't if they are executed in parallel or sequential.But why not make it be executed in parallel by default. if no special
depend_on
entry provided, it will execute all the task under a pipeline in parallel.If user want it be sequential, simply add an entry for a pipeline
parallel: false
, or something else similar.These also apply for
drone-cli
.Concurrency is the heart of modern CI.
@bradrydzewski What is your opinion?