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

make install does not support forwards compatibility of golang versions #2487

Closed
5 tasks
damiannolan opened this issue May 11, 2023 · 8 comments
Closed
5 tasks
Labels
status: waiting-triage This issue/PR has not yet been triaged by the team. type: bug Issues that need priority attention -- something isn't working

Comments

@damiannolan
Copy link
Member

Summary

Running make install performs strict equality on Go version by using the check_version target.

This would be better suited to use greater than or equal to.

For example, checking out v9.1.0 and running make install with Go >1.18 fails. This is unexpected behaviour.

Version

I've noticed this is applicable to the following, but could be more?

  • main (mandates Go 1.20)
  • v9.1.0 (mandates Go 1.18)

Steps to Reproduce

  1. Install a version of Go greater than 1.18
  2. Checkout v9.1.0
  3. Run make install

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
  • Is a spike necessary to map out how the issue should be approached?
@damiannolan damiannolan added type: bug Issues that need priority attention -- something isn't working status: waiting-triage This issue/PR has not yet been triaged by the team. labels May 11, 2023
@github-project-automation github-project-automation bot moved this to 🩹 Triage in Cosmos Hub May 11, 2023
@glnro
Copy link
Contributor

glnro commented May 11, 2023

If you run gaia built with 1.18 and 1.19 for example you can app hash. This is why there's a hard requirement to stick to one version...there have just been other pressing updates and making sure all validators building from the source used a different but consistent go version was deemed an extra risk.

@faddat
Copy link
Contributor

faddat commented May 12, 2023

Validators are reporting app hashes on 1.18 too.

1.18 is deprecated.

@faddat
Copy link
Contributor

faddat commented May 13, 2023

For now, please do not use versions greater than 1.18 -- I think it was a mistake to use a deprecated language runtime, but that is what v9.1.0 uses.

In the future, this PR will handle things nicely:

@damiannolan
Copy link
Member Author

I guess the Go 1.19 release notes don't provide any guarantees.

We expect almost all Go programs to continue to compile and run as before.

It does seem quite odd tho, was there RCA done or did anyone manage to track down the source of indeterminism?

@damiannolan
Copy link
Member Author

Btw, feel free to close this issue if its out of scope, but it would be nice to not have to rely on specific Go versions for builds

@faddat
Copy link
Contributor

faddat commented May 19, 2023

@damiannolan - fyi, we'll always want to have a full validator set on the same version of the go runtime.

go 1.18 is deprecated so we probably shouldn't use it, but I think v10 fixes this.

My recommendation is like:

Use the latest go and at least one feature in it. That way, the software requires the latest go.

@mpoke
Copy link
Contributor

mpoke commented May 26, 2023

Gaia v10 will use go 1.20. Closing this issue as removing the check in the Makefile may result in a apphash mismatch.

@mpoke mpoke closed this as completed May 26, 2023
@github-project-automation github-project-automation bot moved this from 🩹 Triage to ✅ Done in Cosmos Hub May 26, 2023
@mmulji
Copy link

mmulji commented Jul 6, 2023

@mmulji-ic ping test!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: waiting-triage This issue/PR has not yet been triaged by the team. type: bug Issues that need priority attention -- something isn't working
Projects
Status: ✅ Done
Development

No branches or pull requests

5 participants