-
Notifications
You must be signed in to change notification settings - Fork 722
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
chore: use go1.19 to prevent mixed runtimes #2016
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #2016 +/- ##
==========================================
- Coverage 84.85% 79.20% -5.66%
==========================================
Files 21 23 +2
Lines 1466 1577 +111
==========================================
+ Hits 1244 1249 +5
- Misses 177 274 +97
- Partials 45 54 +9
|
Neither ibc-go or sdk versions that v8 will use are opting for 1.19. The docs explicitly mention which version of go is compatible with gaia. Perhaps best to open an issue for future consideration instead. |
Then I implore that a check be added to the Makefile for the go version. Normally this does not matter. Between 18 and 19, it matters. |
Hey I would just like to say once again, that 1.19 will build releases that specify 1.18. this leads to a mixed runtime situation. When there are mixed run times, state sync does not work, and there are rumors that this can break consensus that are being explored in the osmosis validators discord. The way to entirely prevent this issue, is to specify 1.19 in the go.mod file of version 8 of the cosmos hub. Even adding a check to the makefile like cosmosis did, can still have the result of validators building with the wrong runtime, like: go install ./... I know this from experience. |
Would you be able add the check to the makefile then instead in this pr? @jtremback |
@faddat here's how I understand this issue:
Is that correct? |
Yeah, but it's way better to just use 1.19, otherwise there can be a bunch of issues. |
The commentary around state sync here: could be solved by this. |
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
The alternative to this is to have the Makefile check the Go version, as
Osmosis did for their v13 release.
This is the lower-effort, safer way to address the issue. Mixing the go
1.18 and 1.19 runtimes has been known to cause issues with state sync and
consensus. Choosing the higher version ensures that no one can use the
lower version.
closes: 2015