2020-06-27 18:14:58 +02:00
|
|
|
# This file configures the primary build pipeline used for the
|
|
|
|
# top-level list of depot targets.
|
2022-01-16 13:55:36 +01:00
|
|
|
{ depot, pkgs, externalArgs, ... }:
|
2020-06-27 18:14:58 +02:00
|
|
|
|
|
|
|
let
|
2020-08-27 02:05:45 +02:00
|
|
|
# Protobuf check step which validates that changes to .proto files
|
|
|
|
# between revisions don't cause backwards-incompatible or otherwise
|
|
|
|
# flawed changes.
|
|
|
|
protoCheck = {
|
|
|
|
command = "${depot.nix.bufCheck}/bin/ci-buf-check";
|
|
|
|
label = ":water_buffalo:";
|
|
|
|
};
|
2021-12-28 11:38:03 +01:00
|
|
|
|
|
|
|
# Formatting check which validates that all supported auto-formatted
|
|
|
|
# files are formatted correctly. See //tools/depotfmt for details.
|
|
|
|
depotfmtCheck = {
|
|
|
|
command = "${depot.tools.depotfmt.check}";
|
|
|
|
label = ":evergreen_tree: (tools/depotfmt)";
|
|
|
|
};
|
2022-01-16 13:55:36 +01:00
|
|
|
|
2021-10-01 12:43:53 +02:00
|
|
|
pipeline = depot.nix.buildkite.mkPipeline {
|
|
|
|
headBranch = "refs/heads/canon";
|
|
|
|
drvTargets = depot.ci.targets;
|
|
|
|
additionalSteps = [ depotfmtCheck protoCheck ];
|
2022-01-16 13:55:36 +01:00
|
|
|
|
|
|
|
parentTargetMap = if (externalArgs ? parentTargetMap)
|
|
|
|
then builtins.fromJSON (builtins.readFile externalArgs.parentTargetMap)
|
|
|
|
else {};
|
2021-10-01 12:43:53 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
drvmap = depot.nix.buildkite.mkDrvmap depot.ci.targets;
|
|
|
|
in pkgs.runCommandNoCC "depot-pipeline" {} ''
|
|
|
|
mkdir $out
|
|
|
|
cp -r ${pipeline}/* $out
|
|
|
|
cp ${drvmap} $out/drvmap.json
|
|
|
|
''
|