In a monorepo structure, should we version our protobuf contracts? Currently we have this structure.
root
├── protobuf
│ ├── a.proto
│ ├── b.proto
│ └── go.mod
├── serviceA
│ └── go.mod
└── serviceB
└── go.mod
Which feels counter productive since if you want to make change to something in serviceA
and modify a.proto
. You then have to make a separate PR for the proto change and update the protobuf version in serviceA.
I can't seem to find any documentation or best practices on this.
edit: I know the alternative approach is to simply not version the protobuf folder. I'm just trying to weight the pros/cons of both approach.