chore(buf): Use nixpkgs-provided buf

The version of buf used is quite old.

nixpkgs provides a more recent version, but it requires us to migrate
config to the latest version.

depot_scanner.proto doesn't honor some of the conventions, so we need
allow_comment_ignores and drop a bunch of comments in there.

Change-Id: Ic978fe92fb7c8471f58c137497528f18aad8f3ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7053
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: tazjin <tazjin@tvl.su>
This commit is contained in:
Florian Klink 2022-10-21 18:01:02 +02:00 committed by flokli
parent 64bb501de1
commit 6025242fc7
5 changed files with 14 additions and 37 deletions

1
buf.gen.yaml Normal file
View file

@ -0,0 +1 @@
version: v1

View file

@ -1,13 +1,12 @@
build:
roots:
#- proto
- third_party
version: v1
lint:
ignore:
- nix/buildGo
allow_comment_ignores: true
use:
- BASIC
- FILE_LOWER_SNAKE_CASE
except:
- ENUM_VALUE_UPPER_SNAKE_CASE
- PACKAGE_DIRECTORY_MATCH
ignore:
- nix/buildGo

View file

@ -3,7 +3,7 @@
{ depot, pkgs, ... }:
pkgs.writeShellScriptBin "ci-buf-check" ''
${depot.third_party.bufbuild}/bin/buf check lint --input .
${depot.third_party.nixpkgs.buf}/bin/buf lint .
# Report-only
${depot.third_party.bufbuild}/bin/buf check breaking --input "." --against-input "./.git#branch=canon" || true
${depot.third_party.nixpkgs.buf}/bin/buf breaking . --against "./.git#ref=HEAD~1" || true
''

View file

@ -1,29 +0,0 @@
# buf.build is a Protobuf linter and breaking change detector.
# Several binaries are produced.
{ pkgs, lib, ... }:
pkgs.buildGoModule {
pname = "buf";
version = "v0.20.1";
vendorHash = "sha256:1gg5c7aiqb4w1zxwsraxxpln33xkmkzlp1h69xgi9i08zvrfipqs";
src = pkgs.fetchFromGitHub {
owner = "bufbuild";
repo = "buf";
rev = "5e8bf4c800de911764ffdf8d2188b7f6f54476e4";
sha256 = "1rni5swfnb4sbrd9rls4mc3902xhqrlsja96lfcdfjzx08g6kg20";
};
doCheck = false;
# TODO(riking): postinstall produce shell completions for bash, fish, zsh
# bin/buf bash-completion
# bin/buf zsh-completion
# # bin/buf manpages # not yet functional
meta = with lib; {
description = "Protobuf linter and breaking change detector";
homepage = "https://buf.build/docs/introduction";
license = licenses.asl20;
};
}

View file

@ -18,19 +18,25 @@ message ScanRequest {
string attr = 2;
// Optionally, the attr to evaluate can be provided as a path to a folder or a
// .nix file. This is used by the HTTP service.
// buf:lint:ignore FIELD_LOWER_SNAKE_CASE
string attrAsPath = 3;
}
message ScanResponse {
// buf:lint:ignore FIELD_LOWER_SNAKE_CASE
repeated string depotPath = 1;
// buf:lint:ignore FIELD_LOWER_SNAKE_CASE
repeated string nixStorePath = 2;
// buf:lint:ignore FIELD_LOWER_SNAKE_CASE
repeated string corePkgsPath = 4;
// buf:lint:ignore FIELD_LOWER_SNAKE_CASE
repeated string otherPath = 3;
bytes derivation = 5;
}
message ArchiveRequest {
// buf:lint:ignore FIELD_LOWER_SNAKE_CASE
repeated string depotPath = 1;
}