Closed joscha closed 5 years ago
Hah! Good catch 😅
Not a biggie but related:
(the overview step seems to acquire the number of the first run for %n
)
Yep, that’s what we’re expecting for now. We’re figuring people are more likely to drop the number now that the parallel step numbers are first-class citizens!
This works great for the UI - I think, though, that the github status check API is based on the first completed shard, rather than waiting for all the parallel jobs to complete? When I tried this, clicked a detail link from GitHub, I arrived at the 1/10 shard. When I checked on a rebuild and hit the in-progress details link for the step I'd just parallelised, I got the 5/10 one.
This totally scientific approach makes me suspect the status check name is the same for every shard, meaning that the check goes green on the first pass, not the last pass.
I think this means a PR with parallelised steps can be merged before all the shards complete - in fact, I suppose it might flap the mergability if some pass and some fail.
I would want the github status check name to remain the same, since otherwise my branch protection needs to be parallelism aware, and it strikes me that's something likely to be dynamic according to the degree of parallelism we choose - and CI and github would then need to be in sync, which I'd want to avoid.
I think, though, that the github status check API is based on the first completed shard, rather than waiting for all the parallel jobs to complete?
@petemounce you're spot on, and we consider this a design flaw / bug with our implementation. We'll get it fixed! Currently the implementation is pretty racey depending on which one finishes. We should be treating them as a single entity when it comes to commit statuses.
We auto-generate our buildkite pipelines dynamically and some steps have
parallelism: 1
where the number is determined automatically.Since https://buildkite.com/changelog/42-parallel-jobs-now-show-as-a-single-group these show like:
It would be great if
parallelism: 1
would just show like any other non-parallel step.