-
Notifications
You must be signed in to change notification settings - Fork 372
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 go 1.20 #5217
upgrade to go 1.20 #5217
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could we also update the CI version to be consistent? mind checking the .github/workflows
files
Correct me if I'm wrong but isn't it using the same thing? highlight/.github/workflows/backend.yml Lines 18 to 19 in 4cac399
|
@et I think there are still some CI files where we are hard-coded to https://github.com/search?q=repo%3Ahighlight%2Fhighlight+%271.19%27&type=code Looks good to me otherwise - thanks for upgrading us! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cool, thanks eric! looks like updating the go version in the lint caught some important bugs ;)
Indeed. Just pushed some changes to fix some |
Need to upgrade?
Homebrew
brew install [email protected]
Other Go installations
https://go.dev/dl
Summary
This PR upgrades us to Go 1.20 (release notes). The reasoning behind the upgrade is obviously to be on the latest and greatest but also to help prove we don't need the deprecated github.com/pkg/errors library. Specifically, Go 1.20 has a built-in
errors.Join
function that does what theerrors.Wrap
function was doing.As we have discussed over slack, Go error wrapping is unnecessary assuming there's an associated stack trace. Long term, I still plan on removing all of the error wrapping in our code base but wanted to make that distinct from the Go upgrade.
How did you test this change?
Updated our docs to reflect that Go 1.20 is now the minimum version. We don't specify how to install Go but for most of us, it's probably
brew install [email protected]
(other versions here) and restart the backend.I did a basic click test and didn't observe any issues. I didn't notice any breaking changes from the release notes either.
Are there any deployment considerations?
N/A