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 to Go 1.18 #2696

Closed
13 tasks done
hiddeco opened this issue May 3, 2022 · 1 comment
Closed
13 tasks done

Move to Go 1.18 #2696

hiddeco opened this issue May 3, 2022 · 1 comment
Labels
area/ci CI related issues and pull requests

Comments

@hiddeco
Copy link
Member

hiddeco commented May 3, 2022

Given Go 1.18 has been out for some time now, and seems to be stable expect for some minor issues with the performance of the newly introduced Generics, we should start moving to it.

This would also allow us to move to the most recent version of the github.com/Azure/azure-sdk-for-go/sdk/* modules, which require Go >=1.18.

🗒️ Projects

Prerequisites

  • fluxcd/golang-with-libgit2: needs to pass tests using Go 1.18.
  • fluxcd/pkg: low level packages all used by controllers.

Controllers

  • fluxcd/notification-controller (depends on prerequisites)
  • fluxcd/image-reflector-controller (depends on prerequisites)
  • fluxcd/source-controller (depends on prerequisites)
  • fluxcd/kustomize-controller (depends on fluxcd/source-controller)
  • fluxcd/helm-controller (depends on fluxcd/source-controller)
  • fluxcd/image-automation-controller (depends on fluxcd/source-controller and fluxcd/image-reflector-controller)

CLI

  • fluxcd/flux2 (this repository)

Other fluxcd/flux2 umbrella projects

  • fluxcd/cues
  • fluxcd/terraform-provider-flux
  • fluxcd/source-watcher
  • fluxcd/go-git-providers

🧑‍🏭 Steps per project

  • Update CI configuration in .github/ to make use of Go 1.18.x
  • Update Dockerfile resources to make use of Go 1.18.x
  • Optionally: if we depend on github.com/Azure/azure-sdk-for-go/*, the go 1.17 in go.mod can be updated to go 1.18. As there is a hard constraint on this version. For other projects, I would keep this, as it gate-keeps introduction of generics for now.
  • Optionally: if go.mod was changed to include 1.18, ensure any -compat=1.17 rules in e.g. the Makefile of the project are changed to -compat=1.18. While preferably also moving it to a configurable flag option.
  • Optionally: bump any github.com/Azure/azure-sdk-for-go/* dependencies to their latest versions.
@phillebaba
Copy link
Member

@hiddeco regarding the bumping to 1.18 in go.mod if the project uses the Azure SDK. I would actually hold off on doing that in a separate PR as updating the SDK version has a bunch of breaking changes both to function signatures and some behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ci CI related issues and pull requests
Projects
None yet
Development

No branches or pull requests

3 participants