refactor(tvix/*/protos): separate lint target
Break up the go-bindings derivation. Keep "protos" containing all proto files (well, and the buf config), and use it for a check phase running linter and formatter, as well as the existing "go-bindings" attribute Change-Id: I52cb9d08570bb76452acb831eb711c5b6c0eacfb Reviewed-on: https://cl.tvl.fyi/c/depot/+/10239 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
8486f87e3c
commit
43943e2623
3 changed files with 107 additions and 46 deletions
|
@ -1,20 +1,43 @@
|
|||
{ depot, pkgs, ... }: {
|
||||
{ depot, pkgs, ... }:
|
||||
let
|
||||
protos = depot.nix.sparseTree {
|
||||
name = "build-protos";
|
||||
root = depot.path.origSrc;
|
||||
paths = [
|
||||
# We need to include castore.proto (only), as it's referred.
|
||||
../../castore/protos/castore.proto
|
||||
./build.proto
|
||||
./rpc_build.proto
|
||||
../../../buf.yaml
|
||||
../../../buf.gen.yaml
|
||||
];
|
||||
};
|
||||
in
|
||||
depot.nix.readTree.drvTargets {
|
||||
inherit protos;
|
||||
|
||||
# Lints and ensures formatting of the proto files.
|
||||
check = pkgs.stdenv.mkDerivation {
|
||||
name = "proto-check";
|
||||
src = protos;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.buf
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
buf lint
|
||||
buf format -d --exit-code
|
||||
touch $out
|
||||
'';
|
||||
};
|
||||
|
||||
# Produces the golang bindings.
|
||||
go-bindings = pkgs.stdenv.mkDerivation {
|
||||
name = "go-bindings";
|
||||
|
||||
src = depot.nix.sparseTree {
|
||||
name = "build-protos";
|
||||
root = depot.path.origSrc;
|
||||
paths = [
|
||||
# We need to include castore.proto (only), as it's referred.
|
||||
../../castore/protos/castore.proto
|
||||
./build.proto
|
||||
./rpc_build.proto
|
||||
../../../buf.yaml
|
||||
../../../buf.gen.yaml
|
||||
];
|
||||
};
|
||||
src = protos;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.buf
|
||||
|
@ -24,8 +47,6 @@
|
|||
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
buf lint
|
||||
buf format -d --exit-code
|
||||
buf generate
|
||||
|
||||
mkdir -p $out
|
||||
|
|
|
@ -1,19 +1,41 @@
|
|||
{ depot, pkgs, ... }: {
|
||||
{ depot, pkgs, ... }:
|
||||
let
|
||||
protos = depot.nix.sparseTree {
|
||||
name = "castore-protos";
|
||||
root = depot.path.origSrc;
|
||||
paths = [
|
||||
./castore.proto
|
||||
./rpc_blobstore.proto
|
||||
./rpc_directory.proto
|
||||
../../../buf.yaml
|
||||
../../../buf.gen.yaml
|
||||
];
|
||||
};
|
||||
in
|
||||
depot.nix.readTree.drvTargets {
|
||||
inherit protos;
|
||||
|
||||
# Lints and ensures formatting of the proto files.
|
||||
check = pkgs.stdenv.mkDerivation {
|
||||
name = "proto-check";
|
||||
src = protos;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.buf
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
buf lint
|
||||
buf format -d --exit-code
|
||||
touch $out
|
||||
'';
|
||||
};
|
||||
|
||||
# Produces the golang bindings.
|
||||
go-bindings = pkgs.stdenv.mkDerivation {
|
||||
name = "go-bindings";
|
||||
|
||||
src = depot.nix.sparseTree {
|
||||
name = "castore-protos";
|
||||
root = depot.path.origSrc;
|
||||
paths = [
|
||||
./castore.proto
|
||||
./rpc_blobstore.proto
|
||||
./rpc_directory.proto
|
||||
../../../buf.yaml
|
||||
../../../buf.gen.yaml
|
||||
];
|
||||
};
|
||||
src = protos;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.buf
|
||||
|
@ -23,8 +45,6 @@
|
|||
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
buf lint
|
||||
buf format -d --exit-code
|
||||
buf generate
|
||||
|
||||
mkdir -p $out
|
||||
|
|
|
@ -1,20 +1,42 @@
|
|||
{ depot, pkgs, ... }: {
|
||||
{ depot, pkgs, ... }:
|
||||
let
|
||||
protos = depot.nix.sparseTree {
|
||||
name = "store-protos";
|
||||
root = depot.path.origSrc;
|
||||
paths = [
|
||||
# We need to include castore.proto (only), as it's referred.
|
||||
../../castore/protos/castore.proto
|
||||
./pathinfo.proto
|
||||
./rpc_pathinfo.proto
|
||||
../../../buf.yaml
|
||||
../../../buf.gen.yaml
|
||||
];
|
||||
};
|
||||
in
|
||||
depot.nix.readTree.drvTargets {
|
||||
inherit protos;
|
||||
|
||||
# Lints and ensures formatting of the proto files.
|
||||
check = pkgs.stdenv.mkDerivation {
|
||||
name = "proto-check";
|
||||
src = protos;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.buf
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
buf lint
|
||||
buf format -d --exit-code
|
||||
touch $out
|
||||
'';
|
||||
};
|
||||
|
||||
# Produces the golang bindings.
|
||||
go-bindings = pkgs.stdenv.mkDerivation {
|
||||
name = "go-bindings";
|
||||
|
||||
src = depot.nix.sparseTree {
|
||||
name = "castore-protos";
|
||||
root = depot.path.origSrc;
|
||||
paths = [
|
||||
# We need to include castore.proto (only), as it's referred.
|
||||
../../castore/protos/castore.proto
|
||||
./pathinfo.proto
|
||||
./rpc_pathinfo.proto
|
||||
../../../buf.yaml
|
||||
../../../buf.gen.yaml
|
||||
];
|
||||
};
|
||||
src = protos;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgs.buf
|
||||
|
@ -24,8 +46,6 @@
|
|||
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
buf lint
|
||||
buf format -d --exit-code
|
||||
buf generate
|
||||
|
||||
mkdir -p $out
|
||||
|
|
Loading…
Reference in a new issue