From 743bee868649ff19466f209945b4ac135933d571 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Wed, 15 Dec 2021 19:35:51 +0300 Subject: [PATCH] fix(ops/pipelines): Allow steps to run immediately after upload This fix was recommended by Buildkite and is explained in the comment. Change-Id: I3f1c1c07cba0b417857d69c021c8af4750d645c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4334 Tested-by: BuildkiteCI Reviewed-by: sterni --- ops/pipelines/depot.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix index 7b095cd71..5843423d0 100644 --- a/ops/pipelines/depot.nix +++ b/ops/pipelines/depot.nix @@ -62,6 +62,17 @@ let # pipeline construction. (pathExists (unsafeDiscardStringContext target.outPath)); in if shouldSkip then "Target was already built." else false; + + # Add a "fake" dependency on the initial static pipeline step. When + # uploading a pipeline dynamically, an implicit dependency on the uploading + # step is added to all newly created build steps. Since we are uploading in + # batches this stops the jobs in the first batch from running before all + # batches have been uploaded. + # + # By setting an explicit dependency on a step that has always completed at + # this point, we override that behaviour and allow the steps to start + # running already. + depends_on = ":init:"; }; # Protobuf check step which validates that changes to .proto files