From 43269730e66c9a95467f8699a8b18fce8fef4a79 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 29 Aug 2021 15:25:59 +0300 Subject: refactor(ops/pipelines): Move failure status zeroing to setup 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 --- ops/pipelines/depot.nix | 11 +---------- ops/pipelines/static-pipeline.yaml | 9 ++++++--- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix index 709ccc9d5f83..6d4b69d5b086 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 7a6e911ac252..c428780a0613 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 -- cgit 1.4.1