buildkite / buildkite/docs

Clarify how block step implicit dependencies work

Open
#1,415 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
59
Forks
313
PR merge metrics
No merged PRs in 30d

Description

Concerning https://buildkite.com/docs/pipelines/block-step, the description of the block step feels ambiguous and could be clarified, especially this part:
> however a block step creates [implicit dependencies](https://buildkite.com/docs/pipelines/dependencies) to the steps before and after it.

Context: Trying to make a block step only available after the steps that comb before.

Which dependencies (`depends_on`) are created implicitly isn't clear for instance if we have:
```
steps:
- key: a
- block
- key: b
```

There seems to be resulting 2 possibilities/interpretations:
1. block depends_on a, b depends_on block
2. b depends_on [a, block]

The difference is that in 1. we can't unblock until a finished, in 2. we can unblock before a finishes. I believe the current behavior is 2. because block steps can be unblocked before previous steps finish.

To get behavior 1. I think this does it:
```
steps:
- key: a
- block
depends_on: a
- key: b
```

Can you confirm is this is correct? Also if that's the case it can you update the doc to make this more obvious maybe include something like the second example here? It would remove some guess work getting block steps to work in different use cases.

Contributor guide

Open the contributing guide

Research direction

Start with the block-step documentation at https://buildkite.com/docs/pipelines/block-step and compare its implicit-dependencies wording with the linked dependencies documentation. Confirm whether the shown block and depends_on examples reflect the behavior, then clarify the explanation and add the second example so the completion condition is unambiguous.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.