tendermint / spec

131 stars 56 forks source link

update proto generation and testing pipelines #358

Closed williambanfield closed 3 years ago

williambanfield commented 3 years ago

This pull request aims to make it possible to generate, format, and lint the protos within this repo. To accomplish that end, the Dockerfile containing common tools for building the tendermint protos has been moved into this repository. A related github workflow for building that dockerfile has been added to this repo (and removed from the tendermint repository). Additionally, a buf.yaml and buf.gen.yaml have been added for working with the buf tool that we use for compiling our protos. A ./third_party directory with the gogoproto proto file has been added to the root of the repo so that the proto compiler can find this dependency.

The go_package variable has been removed from all of the protos. This variable was set to github.com/tendermint/tendermint/{PACKAGE} which does not make any sense since this is not the tendermint repository. This variable is now set when the protos are built within the tendermint repo. This does present the downside that users who wish to build this protos in go will also need to manually add this option. The community of users doing that seems likely to be small, and we can provide support to them with the scripts that are added in: https://github.com/tendermint/tendermint/pull/7269.