From 22b8a49b87d2b86329add48e9af69ffd29ff6118 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sat, 27 Jun 2020 17:14:58 +0100 Subject: feat(ops/pipelines): Add Buildkite pipeline configuration This adds configuration which generates the structure expected for Buildkite pipelines, which can then be dynamically ingested by Buildkite when a pipeline is triggered. Change-Id: I61e3dc3affb19c1f2550ef827fa73b17f8d8ae47 Reviewed-on: https://cl.tvl.fyi/c/depot/+/627 Reviewed-by: ericvolp12 Reviewed-by: lukegb --- ops/pipelines/depot.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 ops/pipelines/depot.nix (limited to 'ops/pipelines/depot.nix') diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix new file mode 100644 index 0000000000..40de18b5de --- /dev/null +++ b/ops/pipelines/depot.nix @@ -0,0 +1,21 @@ +# This file configures the primary build pipeline used for the +# top-level list of depot targets. +# +# It outputs a "YAML" (actually JSON) file which is evaluated and +# submitted to Buildkite at the start of each build. This means we can +# dynamically configure the pipeline execution here. +{ depot, pkgs, ... }: + +let + inherit (builtins) toJSON; + inherit (pkgs) writeText; + + # This defines the build pipeline, using the pipeline format + # documented on https://buildkite.com/docs/pipelines/defining-steps + pipeline.steps = [ + { + command = "nix-build -A ciBuilds.__allTargets"; + label = "all-targets"; + } + ]; +in writeText "depot.yaml" (toJSON pipeline) -- cgit 1.4.1