mirror of https://github.com/hashicorp/boundary
chore: Split proto breaking change detection config (#2212)
We generally care about preserving JSON compatibility for protobuf files, but for some files, where we only use pure gRPC, we only care about preserving wire compatibility. Split our buf breaking invocation into two invocations, one that checks for WIRE_JSON compatibility, and one that checks only for WIRE compatibility. The former check ignores protos in controller/servers, since they do not need to adhere to this stricter definition.pull/2214/head
parent
6ffef1e4b5
commit
77bc45ae62
@ -0,0 +1,21 @@
|
||||
# This file defines the breaking change configuration we use for
|
||||
# files for which we require only JSON level compatibility checks,
|
||||
# such as those used to describe the HTTP/JSON API we expose to the CLI,
|
||||
# the Desktop client and the admin UI.
|
||||
version: v1
|
||||
name: buf.build/hashicorp/boundary
|
||||
deps:
|
||||
- buf.build/googleapis/googleapis
|
||||
- buf.build/grpc-ecosystem/grpc-gateway
|
||||
breaking:
|
||||
use:
|
||||
- WIRE_JSON
|
||||
ignore_only:
|
||||
FIELD_NO_DELETE_UNLESS_NUMBER_RESERVED:
|
||||
# The proto files in controller/api are only exposed as json files so enforcing
|
||||
# proto backward compatability doesn't make sense, except for maybe the names.
|
||||
- controller/api
|
||||
# Storage protos are used by gorm. Gorm relies on go tags and the json
|
||||
# names to determine what columns to update so we don't care of the field
|
||||
# numbers remain the same.
|
||||
- controller/storage
|
||||
@ -0,0 +1,20 @@
|
||||
# This file defines the breaking change configuration we use for
|
||||
# files for which we require only WIRE level compatibility checks,
|
||||
# such as those used to describe the gRPC API between worker and controller.
|
||||
version: v1
|
||||
name: buf.build/hashicorp/boundary
|
||||
deps:
|
||||
- buf.build/googleapis/googleapis
|
||||
- buf.build/grpc-ecosystem/grpc-gateway
|
||||
breaking:
|
||||
use:
|
||||
- WIRE
|
||||
ignore_only:
|
||||
FIELD_NO_DELETE_UNLESS_NUMBER_RESERVED:
|
||||
# The proto files in controller/api are only exposed as json files so enforcing
|
||||
# proto backward compatability doesn't make sense, except for maybe the names.
|
||||
- controller/api
|
||||
# Storage protos are used by gorm. Gorm relies on go tags and the json
|
||||
# names to determine what columns to update so we don't care of the field
|
||||
# numbers remain the same.
|
||||
- controller/storage
|
||||
Loading…
Reference in new issue