-
Notifications
You must be signed in to change notification settings - Fork 302
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: vendor protos via buf #2680
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
conorsch
force-pushed
the
buf-export-to-proto-compiler
branch
from
June 6, 2023 17:22
be74bae
to
a4a0da3
Compare
Updates the protobuf build process to use `buf` to pull in the relevant upstream proto definitions from BSR. We intentionally pin older versions of the cosmos deps, cosmos-sdk & ibc, for compatibility. The most recent version of cosmos/ibc doesn't integrate with our existing tooling, due to introduction of new "extension" and "extension_signature" attributes on the tendermint::vote type, but we'll tackle updating that later. Only a single change was made to our proto compiler tool: excising a manual import of a tendermint "query.rs" codegen file, which is no longer exported from the sdk protos. Removing it did not break the build, so we weren't using the functionality in that file. The rest of the diff to proto-compiler is updating relpaths. The proto specs now live at a top-level `proto/` dir, and alongside the vendored protos. Those directories are used as inputs to the build. Relevant docs have been updated. Towards #2184.
conorsch
force-pushed
the
buf-export-to-proto-compiler
branch
from
June 6, 2023 17:35
3ccd843
to
5555683
Compare
There's a breaking change noted in the buf lints: that's accurate, we've updated the associated protos. Because the rust build is succeeding based on those regenerated files, the breaking change is acceptable. Post-merge, I'll need to update the CI check that looks for breaking changes by subdir, |
hdevalence
approved these changes
Jun 6, 2023
conorsch
added a commit
that referenced
this pull request
Jun 7, 2023
Follow up to #2680. Cleans the output directories for proto codegen prior to generation, to ensure that the codegen is complete across all targets: vendoring, rust, and go. Previously, we were only cleaning the vendor dir. Removed a few unused protos from the build process as a result.
hdevalence
pushed a commit
that referenced
this pull request
Jun 8, 2023
Follow up to #2680. Cleans the output directories for proto codegen prior to generation, to ensure that the codegen is complete across all targets: vendoring, rust, and go. Previously, we were only cleaning the vendor dir. Removed a few unused protos from the build process as a result.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updates the protobuf build process to use
buf
to pull in the relevant upstream proto definitions from BSR. We intentionally pin older versions of the cosmos deps, cosmos-sdk & ibc, for compatibility. The most recent version of cosmos/ibc doesn't integrate with our existing tooling, due to introduction of new "extension" and "extension_signature" attributes on the tendermint::vote type, but we'll tackle updating that later.Only a single change was made to our proto compiler tool: excising a manual import of a tendermint "query.rs" codegen file, which is no longer exported from the sdk protos. Removing it did not break the build, so we weren't using the functionality in that file. The rest of the diff to proto-compiler is updating relpaths.
The proto specs now live at a top-level
proto/
dir, and alongside the vendored protos. Those directories are used as inputs to the build. Relevant docs have been updated.Towards #2184.