about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKane York <kanepyork@gmail.com>2020-07-17T04·27-0700
committerKane York <rikingcoding@gmail.com>2020-07-17T22·55+0000
commit4dd236be53536e851d2dcb7fab205e999970517f (patch)
tree29224e85d75aef953f8dee3766bbbfef67aee479
parentcf3418403863d8b733d9784126c8e2e5928ba34a (diff)
feat(ci): run buf check lint in CI r/1366
Breaking change detection will run but not enforce.

Emoji of water buffalo was chosen by @pedge fiat in the bufbuild slack.

Change-Id: Ie292f2bfddc0e3bc512e4a138c0b5d0fa2603bad
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1247
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: glittershark <grfn@gws.fyi>
-rw-r--r--nix/bufCheck/default.nix9
-rw-r--r--ops/pipelines/depot.nix4
2 files changed, 13 insertions, 0 deletions
diff --git a/nix/bufCheck/default.nix b/nix/bufCheck/default.nix
new file mode 100644
index 0000000000..6d17cb460e
--- /dev/null
+++ b/nix/bufCheck/default.nix
@@ -0,0 +1,9 @@
+# Check protobuf syntax and breaking.
+#
+{ depot, pkgs, ... }:
+
+pkgs.writeShellScriptBin "ci-buf-check" ''
+  ${depot.third_party.bufbuild}/bin/buf check lint --input "${depot.depotPath}"
+  # Report-only
+  ${depot.third_party.bufbuild}/bin/buf check breaking --input "${depot.depotPath}" --against-input "${depot.depotPath}/.git#branch=canon" || true
+''
diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix
index 3c9ee6b214..ad5a3faabe 100644
--- a/ops/pipelines/depot.nix
+++ b/ops/pipelines/depot.nix
@@ -17,5 +17,9 @@ let
       command = "nix-build -A ciBuilds.__allTargets --show-trace";
       label = ":duck:";
     }
+    {
+      command = "${depot.nix.bufCheck}/bin/ci-buf-check";
+      label = ":water_buffalo:";
+    }
   ];
 in writeText "depot.yaml" (toJSON pipeline)