diff options
Diffstat (limited to 'nix')
-rw-r--r-- | nix/bufCheck/default.nix | 17 |
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 '' |