diff options
Diffstat (limited to 'ops/pipelines/depot.nix')
-rw-r--r-- | ops/pipelines/depot.nix | 18 |
1 files changed, 18 insertions, 0 deletions
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; |