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

Move simapp binary into own go.mod or e2e #3968

Closed
3 tasks
colin-axner opened this issue Jun 26, 2023 · 6 comments · Fixed by #6710
Closed
3 tasks

Move simapp binary into own go.mod or e2e #3968

colin-axner opened this issue Jun 26, 2023 · 6 comments · Fixed by #6710
Assignees
Labels
type: dependency management Relating to managing the ibc dependency graph
Milestone

Comments

@colin-axner
Copy link
Contributor

Summary

The ibc-go simapp should be its own go.mod

Problem Definition

With the upgrade to Eden (sdk v0.50), a lot of sdk modules have become their own go.mod. This is creating a lot of unnecessary dependencies for ibc-go modules, ibc core and the ibc-go apps do not need to depend on several sdk modules included in simapp.

I believe there will be side benefits as well, such as having ibc-go always be a dependency of any binary, see #3039 (comment)

Proposal

Make simapp its own go.mod. I don't have a suggestion yet if we should pin the version or update it as necessary. The main concern would probably be compatibility with e2e's


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@colin-axner colin-axner added the needs discussion Issues that need discussion before they can be worked on label Jun 26, 2023
@damiannolan damiannolan added this to the v8.0.0 milestone Jun 26, 2023
@damiannolan
Copy link
Member

Preliminary add to v8 milestone, lets see if we can get this in before releasing v8!

@colin-axner colin-axner mentioned this issue Jun 26, 2023
9 tasks
@damiannolan
Copy link
Member

I definitely agree with this proposal, additionally simapp is not only concerned with the testing pkg used for unit / integration testing anymore, it is also now used heavily with e2e when dockerised.

What do you think about moving simapp to the root of the repo when making it it’s own go module?
Would be shorter and more appropriate import path: github.com/comos/ibc-go/simapp

Would you propose we shadow the ibc-go major version suffix, or not? The only benefit I see to it is possibly less confusion around versioning, and in particular versioning of upgrade handlers will continue to roll in tandem with ibc-go.

@colin-axner
Copy link
Contributor Author

What do you think about moving simapp to the root of the repo when making it it’s own go module?

This sounds great to me

Would you propose we shadow the ibc-go major version suffix, or not?

Probably shadow or never do a major version release of simapp. ie we could do v0.8.0 for v8

@crodriguezvega crodriguezvega moved this to Todo in ibc-go Jun 27, 2023
@crodriguezvega crodriguezvega moved this from Todo to Backlog in ibc-go Jul 17, 2023
@chatton
Copy link
Contributor

chatton commented Jul 18, 2023

Did very brief investigation in #4117, I think we can tackle this as soon as the sdk 0.50 upgrade is done.

@crodriguezvega crodriguezvega moved this from Backlog to Todo in ibc-go Jul 20, 2023
@crodriguezvega crodriguezvega moved this from Todo to In progress in ibc-go Jul 24, 2023
@crodriguezvega crodriguezvega modified the milestones: v8.0.0, vNext Sep 3, 2023
@crodriguezvega crodriguezvega moved this from In progress 👷 to Todo 🏃 in ibc-go Feb 1, 2024
@colin-axner colin-axner changed the title Make simapp its own go.mod Move simapp binary into own go.mod or e2e May 15, 2024
@colin-axner colin-axner added the type: dependency management Relating to managing the ibc dependency graph label May 15, 2024
@colin-axner
Copy link
Contributor Author

Updated idea here would be to duplicate the simapp in testing and pull out all the logic needed for the binary into its own go.mod (optionally could be in e2e go.mod). This simapp could likely import the other standalone go.mods (08-wasm, callbacks) and we could have one simd for ibc-go again. This should allow us to trim down the testing app within the testing pkg and remove unnecessary deps like:

cosmossdk.io/x/circuit v0.1.1
cosmossdk.io/x/evidence v0.1.1
cosmossdk.io/x/feegrant v0.1.1

@crodriguezvega
Copy link
Contributor

We decided in the engineering call to move it to its own go.mod.

@colin-axner colin-axner removed the needs discussion Issues that need discussion before they can be worked on label Jun 18, 2024
@gjermundgaraba gjermundgaraba self-assigned this Jun 25, 2024
@gjermundgaraba gjermundgaraba moved this from Todo 🏃 to In progress 👷 in ibc-go Jun 25, 2024
@gjermundgaraba gjermundgaraba linked a pull request Jun 26, 2024 that will close this issue
10 tasks
@crodriguezvega crodriguezvega moved this from In progress 👷 to In review 👀 in ibc-go Jul 8, 2024
@github-project-automation github-project-automation bot moved this from In review 👀 to Done 🥳 in ibc-go Jul 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: dependency management Relating to managing the ibc dependency graph
Projects
Archived in project
6 participants