refactor(tools/depotfmt): Move depotfmt check into a real build step

Produces more useful output and also makes for a good target for the
upcoming extraSteps logic.

Change-Id: Ifd389d433d9e27f97940a48999f4fba35646e37a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4727
Tested-by: BuildkiteCI
Autosubmit: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
Vincent Ambo 2021-12-28 13:38:03 +03:00 committed by clbot
parent b7ef2a579b
commit 7ecb2a1144
2 changed files with 14 additions and 7 deletions

View file

@ -10,9 +10,16 @@ let
command = "${depot.nix.bufCheck}/bin/ci-buf-check";
label = ":water_buffalo:";
};
# 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)";
};
in depot.nix.buildkite.mkPipeline {
headBranch = "refs/heads/canon";
drvTargets = depot.ci.targets;
skipIfBuilt = true;
additionalSteps = [ protoCheck ];
additionalSteps = [ depotfmtCheck protoCheck ];
}

View file

@ -27,13 +27,13 @@ let
--tree-root $(${pkgs.git}/bin/git rev-parse --show-toplevel)
'';
# wrapper for running formatting checks in CI
check = pkgs.runCommandNoCC "depotfmt-check" {} ''
${pkgs.git}/bin/git clone ${depot.path.origSrc} depot
export HOME="$(${pkgs.coreutils}/bin/realpath .)"
# wrapper script for running formatting checks in CI
check = pkgs.writeShellScript "depotfmt-check" ''
${pkgs.treefmt}/bin/treefmt \
--fail-on-change \
--config-file ${config} \
--tree-root depot && : > $out
--tree-root .
'';
in depotfmt // depot.nix.readTree.drvTargets { inherit check; }
in depotfmt.overrideAttrs(_: {
passthru.check = check;
})