7df27dad12
This doesn't work when run from subdirectories, and going there manually before running `mg run //nix/bufCheck` is annoying. Change-Id: Icd30a7596ff0dfe2781f7cfa1b4085cbfdebd6ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/7324 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
22 lines
797 B
Nix
22 lines
797 B
Nix
# Check protobuf syntax and breaking.
|
|
#
|
|
{ depot, pkgs, ... }:
|
|
|
|
pkgs.writeShellScriptBin "ci-buf-check" ''
|
|
export PATH="$PATH:${pkgs.lib.makeBinPath [ pkgs.buf pkgs.protoc-gen-go pkgs.protoc-gen-go-grpc ]}"
|
|
(cd $(git rev-parse --show-toplevel) && buf lint .)
|
|
|
|
# Run buf generate, and bail out if generated files are changed.
|
|
(cd $(git rev-parse --show-toplevel) && 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
|
|
(cd $(git rev-parse --show-toplevel) && (buf breaking . --against "./.git#ref=HEAD~1" || true))
|
|
''
|