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

Upgrade to use go 1.20 #385

Closed
lasarojc opened this issue Feb 24, 2023 · 11 comments
Closed

Upgrade to use go 1.20 #385

lasarojc opened this issue Feb 24, 2023 · 11 comments
Labels
enhancement New feature or request

Comments

@lasarojc
Copy link
Contributor

As asked in #174, in general, what are our criteria for updating to support a new version of Go?

@lasarojc lasarojc added enhancement New feature or request needs-triage This issue/PR has not yet been triaged by the team. labels Feb 24, 2023
@thanethomson
Copy link
Contributor

My recommendation is to always use the latest version on main the moment it comes out.

Then, for release branches, we can be more conservative. But given Go's support terms, we can only ever support using one version back.

@sergio-mena
Copy link
Contributor

sergio-mena commented Feb 27, 2023

In abstract, I would tend to be more conservative overall. However, with the (über-strict IMO) policy of only supporting the last two versions of golang, I don't think we can afford to be that conservative.
So I support upgrading main to the latest version as soon as it is out.

@cason
Copy link
Contributor

cason commented Feb 27, 2023

Yes, I don't think Golang gives us much choice here. We had 3 versions (1.18 - 1.20) in less than one year. We should hope this doesn't become the norm.

@thanethomson
Copy link
Contributor

Yes, the longer we wait to update to the latest version of Go on main, the more likely our releases' minimum Go versions are going to end up being unsupported, potentially increasing the likelihood of issues for networks upgrading to new versions (i.e. being more conservative in this case potentially increases risk overall).

@lasarojc
Copy link
Contributor Author

I also like the idea of keeping up with Go and giving the comments above we should move HEAD to Go 1.20. I guess the sooner the better, so people are well warned about it.

What about 0.37? Should we start coordinating with our customers to update to 1.20? Some of them are already there.

@thanethomson
Copy link
Contributor

In general we should upgrade to the latest release of Go as soon as pragmatically feasible after it comes out to maximize the lifespan of a release using a single version of Go.

What would dramatically reduce any risks there is if we had some way of testing mixed networks of app chains (e.g. with Gaia) where some binaries are built using one version of Go and other are built using a different version. That's where the real risk comes in. Not during coordinated upgrades.

@thanethomson thanethomson mentioned this issue Feb 27, 2023
3 tasks
@thanethomson thanethomson removed the needs-triage This issue/PR has not yet been triaged by the team. label Feb 27, 2023
@cason
Copy link
Contributor

cason commented Feb 28, 2023

An important point to consider is that go 1.20 is not available as a package in some important Linux distros:

@thanethomson
Copy link
Contributor

Does anyone exclusively use the standard versions of Go provided by specific distros? Personally, I either manually download and symlink the latest version of Go, or use Homebrew/Linuxbrew.

Some users only use the Docker images we build, and some will build their own Docker images using the Go 1.20 base images.

@sergio-mena
Copy link
Contributor

sergio-mena commented Mar 1, 2023

As an OSX prisoner, I'm a fervent user of Homebrew :-). A distro not having a version of go available (e.g., via apt) is a hindrance. IMO, this should not prevail over the need to keep go as up to date as possible, as that is a risk.

@cason
Copy link
Contributor

cason commented Mar 1, 2023

I would say that Golang not supporting a major version for one year is the real issue here. I would not blame the Linux distributions for that.

@lasarojc
Copy link
Contributor Author

lasarojc commented Mar 3, 2023

PR #419 updated go on the 0.37 branch as well, so closing this.
We shall meet again, once go 1.21 is released!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Status: Done
Development

No branches or pull requests

4 participants