From 732e02a41b2452a3eba737663724c2f7c7a2b97f Mon Sep 17 00:00:00 2001 From: wuhuizuo Date: Fri, 12 Apr 2024 11:22:32 +0800 Subject: [PATCH] chore: add prow OWNERS file (#1231) * chore: add prow OWNERS file * chore: add default approvers for other folders * ci: fix build.rs * ci: fix check.sh --- OWNERS | 3 ++ OWNERS_ALIASES | 26 +++++++++++++++++ build.rs | 19 +++++++++++- proto/OWNERS | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ scripts/check.sh | 2 +- 5 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 OWNERS create mode 100644 OWNERS_ALIASES create mode 100644 proto/OWNERS diff --git a/OWNERS b/OWNERS new file mode 100644 index 000000000..d61c6dd11 --- /dev/null +++ b/OWNERS @@ -0,0 +1,3 @@ +# See the OWNERS docs at https://go.k8s.io/owners +approvers: + - sig-approvers diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES new file mode 100644 index 000000000..ae0cf5d97 --- /dev/null +++ b/OWNERS_ALIASES @@ -0,0 +1,26 @@ +# Sort the member alphabetically. +aliases: + sig-approvers: # default approvers for the repo on rest folders. + - cfzjywxk + - lance6716 + - overvenus + - you06 + - YuJuncen + sig-approvers-pb: # default approvers for `proto` folder + - kevin-xialiu + - yudongusa + - zhangjinpeng1987 + sig-approvers-pb-autoid: [bb7133, tiancaiamao] + sig-approvers-pb-br: [BornChanger, overvenus] + sig-approvers-pb-import: [BornChanger, D3Hunter, lance6716] + sig-approvers-pb-cdc: [flowbehappy, overvenus] + sig-approvers-pb-config: [overvenus] + sig-approvers-pb-coprocessor: [cfzjywxk] + sig-approvers-pb-deadlock: [MyonKeminta, cfzjywxk] + sig-approvers-pb-debug: [cfzjywxk] + sig-approvers-pb-pd: [niubell, rleungx] + sig-approvers-pb-raftstore: [tonyxuqqi, overvenus] + sig-approvers-pb-tikv: [tonyxuqqi] + sig-approvers-pb-error: [cfzjywxk] + sig-approvers-pb-kvrpc: [cfzjywxk] + sig-approvers-pb-trace: [you06] diff --git a/build.rs b/build.rs index 4afddff6f..2cf597780 100644 --- a/build.rs +++ b/build.rs @@ -12,10 +12,27 @@ // limitations under the License. use protobuf_build::Builder; +use std::fs; fn main() { + let proto_dir = "proto"; + let mut proto_files = Vec::new(); + + // Walk the proto directory and collect all .proto files. + for entry in fs::read_dir(proto_dir).unwrap() { + let entry = entry.unwrap(); + let path = entry.path(); + if path.is_file() { + if let Some(ext) = path.extension() { + if ext == "proto" { + proto_files.push(path.to_string_lossy().into_owned()); + } + } + } + } + Builder::new() - .search_dir_for_protos("proto") + .files(&proto_files) .append_to_black_list("eraftpb") .generate() } diff --git a/proto/OWNERS b/proto/OWNERS new file mode 100644 index 000000000..ee94fa9db --- /dev/null +++ b/proto/OWNERS @@ -0,0 +1,76 @@ +# See the OWNERS docs at https://go.k8s.io/owners +options: + no_parent_owners: true +filters: + "^autoid\\.proto$": + approvers: [sig-approvers-pb-autoid] + "^brpb\\.proto$": + approvers: [sig-approvers-pb-br] + "^cdcpb\\.proto$": + approvers: [sig-approvers-pb-cdc] + "^configpb\\.proto$": + approvers: [sig-approvers-pb-config] + "^coprocessor\\.proto$": + approvers: [sig-approvers-pb-coprocessor] + "^deadlock\\.proto$": + approvers: [sig-approvers-pb-deadlock] + "^debugpb\\.proto$": + approvers: [sig-approvers-pb-debug] + "^disk_usage\\.proto$": + approvers: [sig-approvers-pb-raftstore] + "^errorpb\\.proto$": + approvers: [sig-approvers-pb-error] + "^encryptionpb\\.proto$": + approvers: [sig-approvers-pb-raftstore] + "^enginepb\\.proto$": + approvers: [sig-approvers-pb-raftstore] + "^import_kvpb\\.proto$": + approvers: [sig-approvers-pb-import] + "^import_sstpb\\.proto$": + approvers: [sig-approvers-pb-import] + "^kvrpcpb\\.proto$": + approvers: [sig-approvers-kvrpc] + "^logbackuppb\\.proto$": + approvers: [sig-approvers-pb-br] + "^metapb\\.proto$": + approvers: [sig-approvers-pb-raftstore] + "^raft_cmdpb\\.proto$": + approvers: [sig-approvers-pb-raftstore] + "^raft_serverpb\\.proto$": + approvers: [sig-approvers-pb-raftstore] + "^recoverdatapb\\.proto$": + approvers: [sig-approvers-pb-br] + "^resource_manager\\.proto$": + approvers: [sig-approvers-pb-raftstore] + "^tikvpb\\.proto$": + approvers: [sig-approvers-pb-tikv, sig-approvers-pb-kvprc] + "^tracepb\\.proto$": + approvers: [sig-approvers-pb-trace] + "^pdpb\\.proto$": + approvers: [sig-approvers-pb-pd] + "^keyspacepb\\.proto$": + approvers: [sig-approvers-pb-pd] + "^schedulingpb\\.proto$": + approvers: [sig-approvers-pb-pd] + "^tsopb\\.proto$": + approvers: [sig-approvers-pb-pd] + "^meta_storagepb\\.proto$": + approvers: [sig-approvers-pb-pd] + + ### If the special file need to be controlled by a SIG, please uncomment it and fill the approvers. + # "^diagnosticspb\\.proto$": + # approvers: [] + # "^disaggregated\\.proto$": + # approvers: [] + # "^gcpb\\.proto$": + # approvers: [] + # "^mpp\\.proto$": + # approvers: [] + # "^replication_modepb\\.proto$": + # approvers: [] + # "^resource_usage_agent\\.proto$": + # approvers: [] + + # For rest files. + ".*": + approvers: [sig-approvers-pb] diff --git a/scripts/check.sh b/scripts/check.sh index 0218df5d8..4a0bd6fbf 100755 --- a/scripts/check.sh +++ b/scripts/check.sh @@ -20,7 +20,7 @@ check-protos-compatible() { export PATH=$GOPATH/bin:$PATH if [ ! -f "$GOPATH/bin/protolock" ]; then - GO111MODULE=off go install github.com/nilslice/protolock/cmd/protolock@v0.17.0 + go install github.com/nilslice/protolock/cmd/protolock@v0.17.0 || exit 1 fi if protolock status -lockdir=scripts -protoroot=proto; then