From ec2b98d131bc67bdff7a557e9767a321bc53dedb Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sat, 22 Jan 2022 14:47:32 +0300 Subject: refactor(ops/pipelines): Move :anchor: into postBuildSteps There is no need for this step to be part of the static pipeline (it should not run if the build fails anyways). Change-Id: I71400a452d6f8f4708d146b346eaffda5da2f766 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5049 Tested-by: BuildkiteCI Autosubmit: tazjin Reviewed-by: ezemtsov --- ops/pipelines/depot.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'ops/pipelines/depot.nix') diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix index 036ddada0ed7..b6941ba38aa7 100644 --- a/ops/pipelines/depot.nix +++ b/ops/pipelines/depot.nix @@ -19,6 +19,24 @@ let parentTargetMap = if (externalArgs ? parentTargetMap) then builtins.fromJSON (builtins.readFile externalArgs.parentTargetMap) else {}; + + postBuildSteps = [ + # After successful builds, create a gcroot for builds on canon. + # + # This anchors *most* of the depot, in practice it's unimportant + # if there is a build race and we get +-1 of the targets. + # + # Unfortunately this requires a third evaluation of the graph, but + # since it happens after :duck: it should not affect the timing of + # status reporting back to Gerrit. + { + label = ":anchor:"; + branches = "refs/heads/canon"; + command = '' + nix-build -A ci.gcroot --out-link /nix/var/nix/gcroots/depot/canon + ''; + } + ]; }; drvmap = depot.nix.buildkite.mkDrvmap depot.ci.targets; -- cgit 1.4.1