# Steps starting at the same time shouldn't imply dependency groups

**URL:** <https://forum.buildkite.community/t/steps-starting-at-the-same-time-shouldnt-imply-dependency-groups/396>\
**Category:** General\
**Created:** [March 27, 2019, 7:32am UTC](https://forum.buildkite.community/t/steps-starting-at-the-same-time-shouldnt-imply-dependency-groups/396 "2019-03-27T07:32:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![gerry](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/gerry/32/489_2.png) [@gerry](https://forum.buildkite.community/u/gerry)\
**Post date:** [March 27, 2019, 7:32am UTC](https://forum.buildkite.community/t/steps-starting-at-the-same-time-shouldnt-imply-dependency-groups/396/1 "2019-03-27T07:32:36Z")

</div>

I have a pipeline

```
- command: building large docker image
- command: running small steps that don't need that large image
- command: build and run rubocop step

- wait

- command: lots of test steps running in parallel that depend on the large image

```

The rubocop step sometimes takes longer than the build step (which I might be able to address, but not right now), however all the testing steps after the `wait` are only dependant on the build of the docker image.

I could separate the rubocop step into it’s own pipeline, but I could see this being the case for a lot of our linters/checkers, which would mean devs are possibly having to open up a lot of different tabs to find errors in their builds. I suspect even one more will be annoying. I also like the idea that a fail on the rubocop step could then cause an immediate failure on everything after that point. This way we are encouraging doing basic checks locally before pushing it up to CI.

Has anything like this been discussed before? I couldn’t find anything when searching. A command option such as this would likely be ideal… `blocking_type: [wait|no_wait|no_wait_but_fail]` where the wait step would then only wait for any steps with a blocking\_type of `wait` (the default).

Maybe I’m thinking about this all wrong?

edit: Oh actually it does look like this has been raised before: [Feature Request: More granular control over pipelines · Issue #305 · buildkite/feedback · GitHub](https://github.com/buildkite/feedback/issues/305)

---

<div class="post-metadata">

**Author:** ![anon46008679](https://avatars.discourse-cdn.com/v4/letter/a/da6949/32.png) [@anon46008679](https://forum.buildkite.community/u/anon46008679)\
**Post date:** [March 29, 2019, 3:26am UTC](https://forum.buildkite.community/t/steps-starting-at-the-same-time-shouldnt-imply-dependency-groups/396/2 "2019-03-29T03:26:01Z")

</div>

Hi @gerry! This sounds a little similar to the following?

> [@Declare dependencies between jobs](https://forum.buildkite.community/t/declare-dependencies-between-jobs/116/1):
>
> Hi there! wave We have a lot of pipelines that are dynamically generated based on dependency (and “what changed”) information from elsewhere. sparklesmage Here’s a high-level one of such pipelines, which mostly just triggers other pipelines and waits for their results: The actual dependencies here look something like… …but we have to flatten them into a straight line, because Buildkite doesn’t (yet? pray) support declaring dependencies between jobs in any othe…

---

<div class="post-metadata">

**Author:** ![gerry](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/gerry/32/489_2.png) [@gerry](https://forum.buildkite.community/u/gerry)\
**Post date:** [March 30, 2019, 3:24am UTC](https://forum.buildkite.community/t/steps-starting-at-the-same-time-shouldnt-imply-dependency-groups/396/3 "2019-03-30T03:24:16Z")

</div>

Thanks @anon46008679 yeah something where I could specify the dependencies of each job would indeed be ideal, my idea was more so that you don’t have to make too many changes to the current way things work. You would be modifying the wait step to have dependencies instead of each job declaring them. But individual job dependencies would certainly be more flexible.
