about summary refs log tree commit diff
path: root/ops
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-08-29T12·25+0300
committertazjin <mail@tazj.in>2021-08-29T12·37+0000
commit43269730e66c9a95467f8699a8b18fce8fef4a79 (patch)
tree2333783d9123f478617d8d21767603baacd70445 /ops
parentfe225d48a18f722c03e31fdeb9c6c6c4ac6bb9d8 (diff)
refactor(ops/pipelines): Move failure status zeroing to setup r/2799
We changed the configured pipeline in Buildkite to upload
`static-pipeline.yaml` instead of containing the steps of that
pipeline itself.

This makes it easier to test changes to builds and such, but adds
another build step with scheduling overhead etc.

However - we can work around this by killing one of the existing build
steps. There's no reason the failure status zeroing (required for
status reporting) shouldn't be part of the pipeline setup, so I've
moved it there instead and nuked that step.

This should mean that the pipeline is configurable from within the
repo, but without slowing anything down.

Change-Id: I206ecc02647de42a461e33c02879ab84daf5ed2b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3461
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'ops')
-rw-r--r--ops/pipelines/depot.nix11
-rw-r--r--ops/pipelines/static-pipeline.yaml9
2 files changed, 7 insertions, 13 deletions
diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix
index 709ccc9d5f..6d4b69d5b0 100644
--- a/ops/pipelines/depot.nix
+++ b/ops/pipelines/depot.nix
@@ -75,17 +75,8 @@ let
   #
   # Pipeline steps need to stay in order.
   pipeline.steps =
-    # Zero the failure status
-    [
-      {
-        command = "buildkite-agent meta-data set 'failure' '0'";
-        label = ":buildkite:";
-      }
-      { wait = null; }
-    ]
-
     # Create build steps for each CI target
-    ++ (map mkStep depot.ci.targets)
+    (map mkStep depot.ci.targets)
 
     ++ [
       # Simultaneously run protobuf checks
diff --git a/ops/pipelines/static-pipeline.yaml b/ops/pipelines/static-pipeline.yaml
index 7a6e911ac2..c428780a06 100644
--- a/ops/pipelines/static-pipeline.yaml
+++ b/ops/pipelines/static-pipeline.yaml
@@ -1,6 +1,8 @@
-# This file defines the static pipeline which is uploaded in the
-# Buildkite admin interface. These steps run at the beginning of each
-# build and cause the dynamic pipeline generation to run.
+# This file defines the static Buildkite pipeline which attempts to
+# create the dynamic pipeline of all depot targets.
+#
+# If something fails during the creation of the pipeline, the fallback
+# is executed instead which will simply report an error to Gerrit.
 ---
 steps:
   - label: ":llama:"
@@ -12,4 +14,5 @@ steps:
       }
 
       nix-build -A ops.pipelines.depot -o depot.yaml --show-trace || fallback
+      buildkite-agent meta-data set 'failure' '0'
       buildkite-agent pipeline upload depot.yaml || fallback