Skip to content

Commit e3de923

Browse files
authored
Upgraded to golang 1.24 and now using first class support for tools (#1041)
* upgraded to go 1.24 and now using first class support for tools in go.mod * bumped version of golangci-lint and goimports-reviser
1 parent eec6f70 commit e3de923

File tree

11 files changed

+37
-53
lines changed

11 files changed

+37
-53
lines changed

.ci/pipeline_definitions

+4-4
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ etcd-druid:
5454
teamname: 'gardener/etcd-druid-maintainers'
5555
steps:
5656
check:
57-
image: 'golang:1.23.6'
57+
image: 'golang:1.24.1'
5858
test:
59-
image: 'golang:1.23.6'
59+
image: 'golang:1.24.1'
6060
test_integration:
61-
image: 'golang:1.23.6'
61+
image: 'golang:1.24.1'
6262
build:
63-
image: 'golang:1.23.6'
63+
image: 'golang:1.24.1'
6464
output_dir: 'binary'
6565

6666
jobs:

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build the manager binary
2-
FROM golang:1.23.6 as builder
2+
FROM golang:1.24.1 as builder
33
WORKDIR /go/src/github.com/gardener/etcd-druid
44
COPY . .
55

api/go.mod

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,13 @@
11
module github.com/gardener/etcd-druid/api
22

3-
go 1.23.0
3+
go 1.24.0
44

55
require (
66
k8s.io/api v0.32.1
77
k8s.io/apimachinery v0.32.1
88
k8s.io/utils v0.0.0-20241210054802-24370beab758
99
)
1010

11-
// This will replaced by tools section from golang 1.24 onwards.
12-
// Dependency on code-generator is only for generating code and is not a compile time dependency.
13-
require (
14-
k8s.io/code-generator v0.32.1
15-
sigs.k8s.io/controller-tools v0.16.5
16-
)
17-
1811
// Test dependencies
1912
require github.com/onsi/gomega v1.36.2
2013

@@ -55,10 +48,17 @@ require (
5548
gopkg.in/yaml.v2 v2.4.0 // indirect
5649
gopkg.in/yaml.v3 v3.0.1 // indirect
5750
k8s.io/apiextensions-apiserver v0.32.0 // indirect
51+
k8s.io/code-generator v0.32.1 // indirect
5852
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
5953
k8s.io/klog/v2 v2.130.1 // indirect
6054
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
55+
sigs.k8s.io/controller-tools v0.16.5 // indirect
6156
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
6257
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
6358
sigs.k8s.io/yaml v1.4.0 // indirect
6459
)
60+
61+
tool (
62+
k8s.io/code-generator
63+
sigs.k8s.io/controller-tools/cmd/controller-gen
64+
)

api/hack/tools.go

-14
This file was deleted.

api/hack/tools.mk

+6-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ GO_APIDIFF := $(TOOLS_BIN_DIR)/go-apidiff
1212

1313
# default tool versions
1414
CONTROLLER_GEN_VERSION ?= $(call version_gomod,sigs.k8s.io/controller-tools)
15-
GOLANGCI_LINT_VERSION ?= v1.60.3
16-
GOIMPORTS_REVISER_VERSION ?= v3.6.5
15+
GOLANGCI_LINT_VERSION ?= v1.64.8
16+
GOIMPORTS_REVISER_VERSION ?= v3.9.1
1717
CRD_REF_DOCS_VERSION ?= v0.1.0
1818
GO_APIDIFF_VERSION ?= v0.8.2
1919

@@ -23,6 +23,10 @@ export PATH := $(abspath $(TOOLS_BIN_DIR)):$(PATH)
2323
# Use this function to get the version of a go module from go.mod
2424
version_gomod = $(shell go list -f '{{ .Version }}' -m $(1))
2525

26+
.PHONY: clean-tools-bin
27+
clean-tools-bin:
28+
rm -rf $(TOOLS_BIN_DIR)/*
29+
2630
$(CONTROLLER_GEN):
2731
GOBIN=$(abspath $(TOOLS_BIN_DIR)) go install sigs.k8s.io/controller-tools/cmd/controller-gen@${CONTROLLER_GEN_VERSION}
2832

client/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/gardener/etcd-druid/client
22

3-
go 1.23.0
3+
go 1.24.0
44

55
require (
66
github.com/gardener/etcd-druid/api v0.0.0

go.mod

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/gardener/etcd-druid
22

3-
go 1.23.0
3+
go 1.24.0
44

55
require (
66
github.com/Masterminds/semver/v3 v3.3.1
@@ -17,14 +17,12 @@ require (
1717
go.uber.org/mock v0.5.0
1818
go.uber.org/zap v1.27.0
1919
golang.org/x/exp v0.0.0-20241204233417-43b7b7cde48d
20-
golang.org/x/tools v0.31.0
2120
k8s.io/api v0.32.1
2221
k8s.io/apimachinery v0.32.1
2322
k8s.io/client-go v0.32.1
2423
k8s.io/component-base v0.32.1
2524
k8s.io/utils v0.0.0-20241210054802-24370beab758
2625
sigs.k8s.io/controller-runtime v0.19.5
27-
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20231015215740-bf15e44028f9 // v0.16.3
2826
sigs.k8s.io/yaml v1.4.0
2927
)
3028

@@ -116,6 +114,7 @@ require (
116114
golang.org/x/term v0.30.0 // indirect
117115
golang.org/x/text v0.23.0 // indirect
118116
golang.org/x/time v0.8.0 // indirect
117+
golang.org/x/tools v0.31.0 // indirect
119118
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
120119
google.golang.org/api v0.193.0 // indirect
121120
google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect
@@ -130,6 +129,7 @@ require (
130129
k8s.io/apiextensions-apiserver v0.32.0 // indirect
131130
k8s.io/klog/v2 v2.130.1 // indirect
132131
k8s.io/kube-openapi v0.0.0-20241127205056-99599406b04f // indirect
132+
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20231015215740-bf15e44028f9 // indirect
133133
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
134134
sigs.k8s.io/structured-merge-diff/v4 v4.4.3 // indirect
135135
)
@@ -138,3 +138,8 @@ replace (
138138
github.com/gardener/etcd-druid/api => ./api
139139
github.com/gardener/etcd-druid/client => ./client
140140
)
141+
142+
tool (
143+
golang.org/x/tools/cmd/goimports
144+
sigs.k8s.io/controller-runtime/tools/setup-envtest
145+
)

go.work

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
go 1.23.0
1+
go 1.24.0
22

33
// Reasons to include go.work files and check them into git repo
44
// * Ease of development as go modules have non-cyclic dependencies amongst them.

go.work.sum

+6-2
Original file line numberDiff line numberDiff line change
@@ -415,8 +415,6 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu
415415
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
416416
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
417417
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
418-
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
419-
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
420418
github.com/google/cel-go v0.22.0 h1:b3FJZxpiv1vTMo2/5RDUqAHPxkT8mmMfJIrq1llbf7g=
421419
github.com/google/cel-go v0.22.0/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8=
422420
github.com/google/flatbuffers v23.5.26+incompatible h1:M9dgRyhJemaM4Sw8+66GHBu8ioaQmyPLg1b8VwK5WJg=
@@ -670,6 +668,7 @@ golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
670668
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
671669
golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
672670
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
671+
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
673672
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
674673
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
675674
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -707,6 +706,7 @@ golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
707706
golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
708707
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
709708
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
709+
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
710710
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
711711
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
712712
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -728,6 +728,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
728728
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
729729
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
730730
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
731+
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
731732
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
732733
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
733734
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -773,6 +774,7 @@ golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
773774
golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
774775
golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
775776
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
777+
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
776778
golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk=
777779
golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0=
778780
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -788,6 +790,7 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
788790
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
789791
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
790792
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
793+
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
791794
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
792795
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
793796
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -840,6 +843,7 @@ golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0
840843
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
841844
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
842845
golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
846+
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
843847
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
844848
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
845849
golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk=

hack/tools.go

-15
This file was deleted.

hack/tools.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ CRD_REF_DOCS := $(TOOLS_BIN_DIR)/crd-ref-docs
2828
# default tool versions
2929
SKAFFOLD_VERSION := v2.14.0
3030
KUSTOMIZE_VERSION := v4.5.7
31-
GOLANGCI_LINT_VERSION ?= v1.60.3
31+
GOLANGCI_LINT_VERSION ?= v1.64.8
3232
CONTROLLER_GEN_VERSION ?= $(call version_gomod,sigs.k8s.io/controller-tools)
3333
CODE_GENERATOR_VERSION ?= $(call version_gomod,k8s.io/api)
3434
GINKGO_VERSION ?= $(call version_gomod,github.com/onsi/ginkgo/v2)
@@ -39,7 +39,7 @@ HELM_VERSION ?= v3.16.4
3939
KUBECTL_VERSION ?= v1.32.0
4040
VGOPATH_VERSION ?= v0.1.5
4141
GO_ADD_LICENSE_VERSION ?= v1.1.1
42-
GOIMPORTS_REVISER_VERSION ?= v3.6.5
42+
GOIMPORTS_REVISER_VERSION ?= v3.9.1
4343
YQ_VERSION ?= v4.44.3
4444
CRD_REF_DOCS_VERSION ?= v0.1.0
4545
export TOOLS_BIN_DIR := $(TOOLS_BIN_DIR)

0 commit comments

Comments
 (0)