about summary refs log tree commit diff
path: root/nix/bufCheck
diff options
context:
space:
mode:
Diffstat (limited to 'nix/bufCheck')
-rw-r--r--nix/bufCheck/default.nix17
1 files changed, 15 insertions, 2 deletions
diff --git a/nix/bufCheck/default.nix b/nix/bufCheck/default.nix
index 25a8865d8dcf..97b4124d4569 100644
--- a/nix/bufCheck/default.nix
+++ b/nix/bufCheck/default.nix
@@ -3,7 +3,20 @@
 { depot, pkgs, ... }:
 
 pkgs.writeShellScriptBin "ci-buf-check" ''
-  ${depot.third_party.nixpkgs.buf}/bin/buf lint .
+  export PATH="$PATH:${pkgs.lib.makeBinPath [ pkgs.buf pkgs.protoc-gen-go pkgs.protoc-gen-go-grpc ]}"
+  buf lint .
+
+  # Run buf generate, and bail out if generated files are changed.
+  buf generate --path tvix/store/protos
+  # Check if any files have changed
+  if [[ -n "$(git status --porcelain -unormal)" ]]; then
+      echo "-----------------------------"
+      echo ".pb.go files need to be updated"
+      echo "-----------------------------"
+      git status -unormal
+      exit 1
+  fi
+
   # Report-only
-  ${depot.third_party.nixpkgs.buf}/bin/buf breaking . --against "./.git#ref=HEAD~1" || true
+  buf breaking . --against "./.git#ref=HEAD~1" || true
 ''