From 6a597e97ecc8c01f87d18e96d7f7b31469263ae3 Mon Sep 17 00:00:00 2001 From: Camila Macedo Date: Thu, 16 May 2024 12:20:55 +0100 Subject: [PATCH] Add support for go 1.22 --- .github/workflows/apidiff.yml | 2 +- .github/workflows/lint-sample.yml | 4 ++-- .github/workflows/lint.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/test-sample-go.yml | 2 +- .github/workflows/testdata.yml | 2 +- .github/workflows/unit-tests.yml | 4 ++-- CONTRIBUTING.md | 2 +- docs/book/book.toml | 4 ++-- .../src/component-config-tutorial/testdata/project/go.mod | 2 +- docs/book/src/cronjob-tutorial/testdata/project/Dockerfile | 2 +- docs/book/src/cronjob-tutorial/testdata/project/README.md | 2 +- docs/book/src/cronjob-tutorial/testdata/project/go.mod | 2 +- docs/book/src/getting-started/testdata/project/Dockerfile | 2 +- docs/book/src/getting-started/testdata/project/README.md | 2 +- docs/book/src/getting-started/testdata/project/go.mod | 2 +- .../src/multiversion-tutorial/testdata/project/Dockerfile | 2 +- .../book/src/multiversion-tutorial/testdata/project/README.md | 2 +- docs/book/src/multiversion-tutorial/testdata/project/go.mod | 2 +- .../testdata/sampleexternalplugin/v1/go.mod | 2 +- go.mod | 2 +- pkg/plugins/golang/go_version_test.go | 1 + .../golang/v4/scaffolds/internal/templates/dockerfile.go | 2 +- pkg/plugins/golang/v4/scaffolds/internal/templates/gomod.go | 2 +- pkg/plugins/golang/v4/scaffolds/internal/templates/readme.go | 2 +- testdata/project-v4-multigroup-with-deploy-image/Dockerfile | 2 +- testdata/project-v4-multigroup-with-deploy-image/README.md | 2 +- testdata/project-v4-multigroup-with-deploy-image/go.mod | 2 +- testdata/project-v4-multigroup/Dockerfile | 2 +- testdata/project-v4-multigroup/README.md | 2 +- testdata/project-v4-multigroup/go.mod | 2 +- testdata/project-v4-with-deploy-image/Dockerfile | 2 +- testdata/project-v4-with-deploy-image/README.md | 2 +- testdata/project-v4-with-deploy-image/go.mod | 2 +- testdata/project-v4-with-grafana/Dockerfile | 2 +- testdata/project-v4-with-grafana/README.md | 2 +- testdata/project-v4-with-grafana/go.mod | 2 +- testdata/project-v4/Dockerfile | 2 +- testdata/project-v4/README.md | 2 +- testdata/project-v4/go.mod | 2 +- 40 files changed, 43 insertions(+), 42 deletions(-) diff --git a/.github/workflows/apidiff.yml b/.github/workflows/apidiff.yml index e0d869fb6e..fec38c1079 100644 --- a/.github/workflows/apidiff.yml +++ b/.github/workflows/apidiff.yml @@ -19,7 +19,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: "~1.21" + go-version: "~1.22" - name: Execute go-apidiff uses: joelanford/go-apidiff@v0.8.2 with: diff --git a/.github/workflows/lint-sample.yml b/.github/workflows/lint-sample.yml index 1d24a9fb66..ea123013fc 100644 --- a/.github/workflows/lint-sample.yml +++ b/.github/workflows/lint-sample.yml @@ -17,7 +17,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: '~1.21' + go-version: '~1.22' - name: Remove pre-installed kustomize run: sudo rm -f /usr/local/bin/kustomize - name: Run make test for project-v4-with-deploy-image @@ -34,7 +34,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: '~1.21' + go-version: '~1.22' - name: Clone the code uses: actions/checkout@v4 - name: Run linter diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3e35d42366..343b5df8a6 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,7 +15,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: '~1.21' + go-version: '~1.22' - name: Clone the code uses: actions/checkout@v4 - name: Run linter diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index db0ed918df..09f89b23fb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '~1.21' + go-version: '~1.22' - name: Run GoReleaser uses: goreleaser/goreleaser-action@v5 with: diff --git a/.github/workflows/test-sample-go.yml b/.github/workflows/test-sample-go.yml index debc8f909b..3a6d11a7c7 100644 --- a/.github/workflows/test-sample-go.yml +++ b/.github/workflows/test-sample-go.yml @@ -15,7 +15,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: '~1.21' + go-version: '~1.22' - name: Create kind cluster run: kind create cluster diff --git a/.github/workflows/testdata.yml b/.github/workflows/testdata.yml index 6b45956b7d..20d8603ae5 100644 --- a/.github/workflows/testdata.yml +++ b/.github/workflows/testdata.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: '~1.21' + go-version: '~1.22' - name: Remove pre-installed kustomize # This step is needed as the following one tries to remove # kustomize for each test but has no permission to do so diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index d69bc9d26f..704496d345 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: '~1.21' + go-version: '~1.22' # This step is needed as the following one tries to remove # kustomize for each test but has no permission to do so - name: Remove pre-installed kustomize @@ -52,7 +52,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Generate the coverage output run: make test-coverage - name: Send the coverage output diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4eccdf9ccf..ca21171e30 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ Please see https://git.k8s.io/community/CLA.md for more info. ## Prerequisites -- [go](https://golang.org/dl/) version v1.21+. +- [go](https://golang.org/dl/) version v1.22+. - [docker](https://docs.docker.com/install/) version 17.03+. - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) version v1.11.3+. - [kustomize](https://github.com/kubernetes-sigs/kustomize/blob/master/site/content/en/docs/Getting%20started/installation.md) v3.1.0+ diff --git a/docs/book/book.toml b/docs/book/book.toml index 0dad9b4092..007406d3d8 100644 --- a/docs/book/book.toml +++ b/docs/book/book.toml @@ -17,8 +17,8 @@ command = "./litgo.sh" command = "./markerdocs.sh" [context.environment] - environment = { GO_VERSION = "1.21" } + environment = { GO_VERSION = "1.22" } [context.deploy-preview.environment] - environment = { GO_VERSION = "1.21" } + environment = { GO_VERSION = "1.22" } diff --git a/docs/book/src/component-config-tutorial/testdata/project/go.mod b/docs/book/src/component-config-tutorial/testdata/project/go.mod index 7856a4124e..a3311005f5 100644 --- a/docs/book/src/component-config-tutorial/testdata/project/go.mod +++ b/docs/book/src/component-config-tutorial/testdata/project/go.mod @@ -1,6 +1,6 @@ module tutorial.kubebuilder.io/project -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/docs/book/src/cronjob-tutorial/testdata/project/Dockerfile b/docs/book/src/cronjob-tutorial/testdata/project/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/docs/book/src/cronjob-tutorial/testdata/project/Dockerfile +++ b/docs/book/src/cronjob-tutorial/testdata/project/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/docs/book/src/cronjob-tutorial/testdata/project/README.md b/docs/book/src/cronjob-tutorial/testdata/project/README.md index a1c7ff7c3b..b5295ca3fa 100644 --- a/docs/book/src/cronjob-tutorial/testdata/project/README.md +++ b/docs/book/src/cronjob-tutorial/testdata/project/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/docs/book/src/cronjob-tutorial/testdata/project/go.mod b/docs/book/src/cronjob-tutorial/testdata/project/go.mod index 48f446e940..fcd37a2723 100644 --- a/docs/book/src/cronjob-tutorial/testdata/project/go.mod +++ b/docs/book/src/cronjob-tutorial/testdata/project/go.mod @@ -1,6 +1,6 @@ module tutorial.kubebuilder.io/project -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/docs/book/src/getting-started/testdata/project/Dockerfile b/docs/book/src/getting-started/testdata/project/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/docs/book/src/getting-started/testdata/project/Dockerfile +++ b/docs/book/src/getting-started/testdata/project/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/docs/book/src/getting-started/testdata/project/README.md b/docs/book/src/getting-started/testdata/project/README.md index a1c7ff7c3b..b5295ca3fa 100644 --- a/docs/book/src/getting-started/testdata/project/README.md +++ b/docs/book/src/getting-started/testdata/project/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/docs/book/src/getting-started/testdata/project/go.mod b/docs/book/src/getting-started/testdata/project/go.mod index c703afa68d..25eb854e15 100644 --- a/docs/book/src/getting-started/testdata/project/go.mod +++ b/docs/book/src/getting-started/testdata/project/go.mod @@ -1,6 +1,6 @@ module example.com/memcached -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/docs/book/src/multiversion-tutorial/testdata/project/Dockerfile b/docs/book/src/multiversion-tutorial/testdata/project/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/docs/book/src/multiversion-tutorial/testdata/project/Dockerfile +++ b/docs/book/src/multiversion-tutorial/testdata/project/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/docs/book/src/multiversion-tutorial/testdata/project/README.md b/docs/book/src/multiversion-tutorial/testdata/project/README.md index a1c7ff7c3b..b5295ca3fa 100644 --- a/docs/book/src/multiversion-tutorial/testdata/project/README.md +++ b/docs/book/src/multiversion-tutorial/testdata/project/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/docs/book/src/multiversion-tutorial/testdata/project/go.mod b/docs/book/src/multiversion-tutorial/testdata/project/go.mod index 153f2c5455..f5eee12cf6 100644 --- a/docs/book/src/multiversion-tutorial/testdata/project/go.mod +++ b/docs/book/src/multiversion-tutorial/testdata/project/go.mod @@ -1,6 +1,6 @@ module tutorial.kubebuilder.io/project -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod b/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod index 6abf56c6e3..a6ca1de314 100644 --- a/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod +++ b/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod @@ -1,6 +1,6 @@ module v1 -go 1.21 +go 1.22 require ( github.com/spf13/pflag v1.0.5 diff --git a/go.mod b/go.mod index c7061bfe11..a23973767e 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module sigs.k8s.io/kubebuilder/v3 -go 1.21 +go 1.22 require ( github.com/gobuffalo/flect v1.0.2 diff --git a/pkg/plugins/golang/go_version_test.go b/pkg/plugins/golang/go_version_test.go index f67e40728f..b148955246 100644 --- a/pkg/plugins/golang/go_version_test.go +++ b/pkg/plugins/golang/go_version_test.go @@ -199,6 +199,7 @@ var _ = Describe("checkGoVersion", func() { Entry("for go.1.19.1", "go1.19.1"), Entry("for go.1.20", "go1.20"), Entry("for go.1.21", "go1.21"), + Entry("for go.1.22", "go1.22"), ) DescribeTable("should return an error for non-supported go versions", diff --git a/pkg/plugins/golang/v4/scaffolds/internal/templates/dockerfile.go b/pkg/plugins/golang/v4/scaffolds/internal/templates/dockerfile.go index 30ab49d148..8b4ce99476 100644 --- a/pkg/plugins/golang/v4/scaffolds/internal/templates/dockerfile.go +++ b/pkg/plugins/golang/v4/scaffolds/internal/templates/dockerfile.go @@ -39,7 +39,7 @@ func (f *Dockerfile) SetTemplateDefaults() error { } const dockerfileTemplate = `# Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/pkg/plugins/golang/v4/scaffolds/internal/templates/gomod.go b/pkg/plugins/golang/v4/scaffolds/internal/templates/gomod.go index 9ef1d5e0ab..402633e850 100644 --- a/pkg/plugins/golang/v4/scaffolds/internal/templates/gomod.go +++ b/pkg/plugins/golang/v4/scaffolds/internal/templates/gomod.go @@ -45,7 +45,7 @@ func (f *GoMod) SetTemplateDefaults() error { const goModTemplate = `module {{ .Repo }} -go 1.21 +go 1.22 require ( sigs.k8s.io/controller-runtime {{ .ControllerRuntimeVersion }} diff --git a/pkg/plugins/golang/v4/scaffolds/internal/templates/readme.go b/pkg/plugins/golang/v4/scaffolds/internal/templates/readme.go index 6cc9a530af..72ce25d8e8 100644 --- a/pkg/plugins/golang/v4/scaffolds/internal/templates/readme.go +++ b/pkg/plugins/golang/v4/scaffolds/internal/templates/readme.go @@ -70,7 +70,7 @@ const readmeFileTemplate = `# {{ .ProjectName }} ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/testdata/project-v4-multigroup-with-deploy-image/Dockerfile b/testdata/project-v4-multigroup-with-deploy-image/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/testdata/project-v4-multigroup-with-deploy-image/Dockerfile +++ b/testdata/project-v4-multigroup-with-deploy-image/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/testdata/project-v4-multigroup-with-deploy-image/README.md b/testdata/project-v4-multigroup-with-deploy-image/README.md index f114ecf693..eef188fbd0 100644 --- a/testdata/project-v4-multigroup-with-deploy-image/README.md +++ b/testdata/project-v4-multigroup-with-deploy-image/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/testdata/project-v4-multigroup-with-deploy-image/go.mod b/testdata/project-v4-multigroup-with-deploy-image/go.mod index 66bb3f3596..bd29b01806 100644 --- a/testdata/project-v4-multigroup-with-deploy-image/go.mod +++ b/testdata/project-v4-multigroup-with-deploy-image/go.mod @@ -1,6 +1,6 @@ module sigs.k8s.io/kubebuilder/testdata/project-v4-multigroup-with-deploy-image -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/testdata/project-v4-multigroup/Dockerfile b/testdata/project-v4-multigroup/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/testdata/project-v4-multigroup/Dockerfile +++ b/testdata/project-v4-multigroup/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/testdata/project-v4-multigroup/README.md b/testdata/project-v4-multigroup/README.md index ce9b0a5841..be36750a35 100644 --- a/testdata/project-v4-multigroup/README.md +++ b/testdata/project-v4-multigroup/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/testdata/project-v4-multigroup/go.mod b/testdata/project-v4-multigroup/go.mod index b844ddfff3..8f63971810 100644 --- a/testdata/project-v4-multigroup/go.mod +++ b/testdata/project-v4-multigroup/go.mod @@ -1,6 +1,6 @@ module sigs.k8s.io/kubebuilder/testdata/project-v4-multigroup -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/testdata/project-v4-with-deploy-image/Dockerfile b/testdata/project-v4-with-deploy-image/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/testdata/project-v4-with-deploy-image/Dockerfile +++ b/testdata/project-v4-with-deploy-image/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/testdata/project-v4-with-deploy-image/README.md b/testdata/project-v4-with-deploy-image/README.md index b012e51dd3..8330cb5604 100644 --- a/testdata/project-v4-with-deploy-image/README.md +++ b/testdata/project-v4-with-deploy-image/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/testdata/project-v4-with-deploy-image/go.mod b/testdata/project-v4-with-deploy-image/go.mod index a33896505b..c3bd0b5ce5 100644 --- a/testdata/project-v4-with-deploy-image/go.mod +++ b/testdata/project-v4-with-deploy-image/go.mod @@ -1,6 +1,6 @@ module sigs.k8s.io/kubebuilder/testdata/project-v4-with-deploy-image -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/testdata/project-v4-with-grafana/Dockerfile b/testdata/project-v4-with-grafana/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/testdata/project-v4-with-grafana/Dockerfile +++ b/testdata/project-v4-with-grafana/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/testdata/project-v4-with-grafana/README.md b/testdata/project-v4-with-grafana/README.md index 0b7b16ba82..a208300c1e 100644 --- a/testdata/project-v4-with-grafana/README.md +++ b/testdata/project-v4-with-grafana/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/testdata/project-v4-with-grafana/go.mod b/testdata/project-v4-with-grafana/go.mod index 919096ef8c..4df0c62587 100644 --- a/testdata/project-v4-with-grafana/go.mod +++ b/testdata/project-v4-with-grafana/go.mod @@ -1,6 +1,6 @@ module sigs.k8s.io/kubebuilder/testdata/project-v4-with-grafana -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0 diff --git a/testdata/project-v4/Dockerfile b/testdata/project-v4/Dockerfile index aca26f9229..a48973ee7f 100644 --- a/testdata/project-v4/Dockerfile +++ b/testdata/project-v4/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 AS builder +FROM golang:1.22 AS builder ARG TARGETOS ARG TARGETARCH diff --git a/testdata/project-v4/README.md b/testdata/project-v4/README.md index ad144d0110..49d9168532 100644 --- a/testdata/project-v4/README.md +++ b/testdata/project-v4/README.md @@ -7,7 +7,7 @@ ## Getting Started ### Prerequisites -- go version v1.21.0+ +- go version v1.22.0+ - docker version 17.03+. - kubectl version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. diff --git a/testdata/project-v4/go.mod b/testdata/project-v4/go.mod index 9ef07b0ada..0cbe3c78c1 100644 --- a/testdata/project-v4/go.mod +++ b/testdata/project-v4/go.mod @@ -1,6 +1,6 @@ module sigs.k8s.io/kubebuilder/testdata/project-v4 -go 1.21 +go 1.22 require ( github.com/onsi/ginkgo/v2 v2.14.0