diff options
author | Vincent Ambo <mail@tazj.in> | 2021-12-28T10·38+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2021-12-28T15·37+0000 |
commit | 7ecb2a1144bb3b25129d527296adb5481a8aaa0a (patch) | |
tree | 4c9e5be17d0b32d1114db68950238cc66f7f5594 | |
parent | b7ef2a579b513a8d1a8deb9e864f8f664ee44d2a (diff) |
refactor(tools/depotfmt): Move depotfmt check into a real build step r/3492
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>
-rw-r--r-- | ops/pipelines/depot.nix | 9 | ||||
-rw-r--r-- | tools/depotfmt.nix | 12 |
2 files changed, 14 insertions, 7 deletions
diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix index 63b1bc067a91..9f7aaf8ba01f 100644 --- a/ops/pipelines/depot.nix +++ b/ops/pipelines/depot.nix @@ -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 ]; } diff --git a/tools/depotfmt.nix b/tools/depotfmt.nix index c3c9852430af..312ef3f8df07 100644 --- a/tools/depotfmt.nix +++ b/tools/depotfmt.nix @@ -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; +}) |