Skip to content
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

EPIC: Create buf registry for each extracted module #13363

Closed
Tracked by #13085
julienrbrt opened this issue Sep 22, 2022 · 6 comments
Closed
Tracked by #13085

EPIC: Create buf registry for each extracted module #13363

julienrbrt opened this issue Sep 22, 2022 · 6 comments
Assignees
Labels
T: Dev UX UX for SDK developers (i.e. how to call our code)

Comments

@julienrbrt
Copy link
Member

julienrbrt commented Sep 22, 2022

Summary

Create a buf registry for each extracted module and move the proto module protos to their own folder.

Problem Definition

Currently, the modules' proto definition is located under https://github.com/cosmos/cosmos-sdk/tree/main/proto/cosmos.
From our DEV UX interview, this is not intuitive and does not align with the goal of a creating go module for SDK modules (#11899).

Proposal

We must ensure that pushing to the buf registry (https://buf.build/cosmos/cosmos-sdk) gives the same content.
Verify, if is better to have each of the modules have their own buf repo.

  • Move each proto definition to their own folder: E.g. proto/cosmos/auth -> x/auth/proto.
  • Create buf registry for each extracted module
  • Update extraction module documentation
  • Update UPGRADING.md of what to add in the buf.yaml of consumers (as buf.build/cosmos/cosmos-sdk won't contain the extracted modules).
@julienrbrt julienrbrt mentioned this issue Sep 22, 2022
18 tasks
@julienrbrt julienrbrt added the T: Dev UX UX for SDK developers (i.e. how to call our code) label Sep 22, 2022
@alexanderbez
Copy link
Contributor

I love this idea!

@aaronc
Copy link
Member

aaronc commented Sep 23, 2022

There's another thread where this got discussed but I think there needs to be a 1:1 correspondence between go modules and buf modules for versioning purposes. For each module we should (I think) only be pushing production proto files. The current state of buf is not right and contains a lot of unreleased stuff.

@julienrbrt
Copy link
Member Author

There's another thread where this got discussed but I think there needs to be a 1:1 correspondence between go modules and buf modules for versioning purposes. For each module we should (I think) only be pushing production proto files. The current state of buf is not right and contains a lot of unreleased stuff.

Right, although, we could have a table too, like we are starting to do: https://github.com/cosmos/cosmos-sdk/tree/main/third_party/proto

@itsdevbear
Copy link
Contributor

@julienrbrt @calbera is working on a version for berachain, will share with you and Marko once we get it working and clean.

@julienrbrt julienrbrt changed the title Move modules proto files in their own folder EPIC: Create buf registry for each extracted module Feb 22, 2023
@kocubinski
Copy link
Member

kocubinski commented Mar 20, 2023

Intuitive or not, a single API module instead of each logical SDK module containing 2 go modules (API and Implementation) seems easier to reason and maintain to me. See this comment in the ADR 054 discussion for why I came to that conclusion.

When we're closer to shipping SOA over an ABI (see #15410) I think it will make sense to make the changes described in this issue, but it seems a little early to me right now.

@julienrbrt julienrbrt self-assigned this Aug 29, 2024
@julienrbrt
Copy link
Member Author

Duplicated of #19503

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: Dev UX UX for SDK developers (i.e. how to call our code)
Projects
Status: 🥳 Done
Development

Successfully merging a pull request may close this issue.

6 participants