Skip to content

Commit 61eb329

Browse files
authored
Update build (GO 1.24)
2 parents f86f4f2 + d4dbe8b commit 61eb329

6 files changed

Lines changed: 20 additions & 21 deletions

File tree

.golangci.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ linters-settings:
66
cyclop:
77
max-complexity: 10
88
govet:
9-
check-shadowing: true
9+
shadow: true
1010
lll:
1111
line-length: 170
1212
tab-width: 4
@@ -23,10 +23,8 @@ linters:
2323
# we should re-enable them and make lint pass
2424
disable:
2525
- goimports
26-
- maligned
2726
- gochecknoglobals
2827
- exhaustruct
29-
- exhaustivestruct
3028
- wrapcheck
3129
- gomoddirectives
3230
- godox

build/images/build/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ RUN git config --global user.email "bot@presslabs.com" \
9393

9494
# ------------------------------------------------------------------------------------------------
9595
# Go support
96-
RUN GO_VERSION=1.22.2 && \
97-
GO_HASH=5901c52b7a78002aeff14a21f93e0f064f74ce1360fce51c6ee68cd471216a17 && \
96+
RUN GO_VERSION=1.24.0 && \
97+
GO_HASH=dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858 && \
9898
curl -fsSL https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz -o golang.tar.gz && \
9999
echo "${GO_HASH} golang.tar.gz" | sha256sum -c - && \
100100
tar -C /usr/local -xzf golang.tar.gz && \

build/makelib/golang.mk

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ GO_LDFLAGS += -s -w
5858
endif
5959

6060
# supported go versions
61-
GO_SUPPORTED_VERSIONS ?= 1.21|1.22
61+
GO_SUPPORTED_VERSIONS ?= 1.23|1.24
6262

6363
# set GOOS and GOARCH
6464
GOOS := $(OS)
@@ -72,7 +72,7 @@ GOHOSTARCH := $(HOSTARCH)
7272

7373
GO_PACKAGES := $(foreach t,$(GO_SUBDIRS),$(GO_PROJECT)/$(t)/...)
7474
GO_TEST_PACKAGES ?= $(shell go list -f '{{ if or .TestGoFiles .XTestGoFiles }}{{ .ImportPath }}{{ end }}' $(foreach t,$(GO_SUBDIRS),$(GO_PROJECT)/$(t)/...))
75-
GO_INTEGRATION_TEST_PACKAGES ?= $(foreach t,$(GO_INTEGRATION_TESTS_SUBDIRS),$(GO_PROJECT)/$(t)/integration)
75+
GO_INTEGRATION_TEST_PACKAGES ?= $(foreach t,$(GO_INTEGRATION_TESTS_SUBDIRS),$(GO_PROJECT)/$(t))
7676

7777
ifneq ($(GO_TEST_PARALLEL),)
7878
GO_TEST_FLAGS += -p $(GO_TEST_PARALLEL)
@@ -200,7 +200,7 @@ DEP_DOWNLOAD_URL ?= https://github.com/golang/dep/releases/download/v$(DEP_VERSI
200200
$(eval $(call tool.download,dep,$(DEP_VERSION),$(DEP_DOWNLOAD_URL)))
201201
endif
202202

203-
GOLANGCI_LINT_VERSION ?= 1.55.2
203+
GOLANGCI_LINT_VERSION ?= 1.64.6
204204
GOLANGCI_LINT_DOWNLOAD_URL ?= https://github.com/golangci/golangci-lint/releases/download/v$(GOLANGCI_LINT_VERSION)/golangci-lint-$(GOLANGCI_LINT_VERSION)-$(HOSTOS)-$(HOSTARCH).tar.gz
205205
$(eval $(call tool.download.tar.gz,golangci-lint,$(GOLANGCI_LINT_VERSION),$(GOLANGCI_LINT_DOWNLOAD_URL)))
206206

@@ -212,20 +212,20 @@ endif
212212

213213
# we use a consistent version of gofmt even while running different go compilers.
214214
# see https://github.com/golang/go/issues/26397 for more details
215-
GOFMT_VERSION ?= 1.22
215+
GOFMT_VERSION ?= 1.24
216216
GOFMT_DOWNLOAD_URL ?= https://dl.google.com/go/go$(GOFMT_VERSION).$(HOSTOS)-$(HOSTARCH).tar.gz
217217
ifneq ($(findstring $(GOFMT_VERSION),$(GO_VERSION)),)
218218
GOFMT := $(shell which gofmt)
219219
else
220220
$(eval $(call tool.download.tar.gz,gofmt,$(GOFMT_VERSION),$(GOFMT_DOWNLOAD_URL),bin/gofmt))
221221
endif
222222

223-
GOIMPORTS_VERSION ?= v0.20.0
223+
GOIMPORTS_VERSION ?= v0.30.0
224224
GOIMPORTS_URL ?= golang.org/x/tools/cmd/goimports
225225
$(eval $(call tool.go.install,goimports,$(GOIMPORTS_VERSION),$(GOIMPORTS_URL)))
226226

227227
ifeq ($(GO_TEST_TOOL),ginkgo)
228-
GINKGO_VERSION ?= v2.18.0
228+
GINKGO_VERSION ?= v2.22.2
229229
GINKGO_URL ?= github.com/onsi/ginkgo/v2/ginkgo
230230
$(eval $(call tool.go.install,ginkgo,$(GINKGO_VERSION),$(GINKGO_URL)))
231231
else # GO_TEST_TOOL != ginkgo

build/makelib/kubebuilder.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ KUBEBUILDER_DOWNLOAD_URL ?= https://github.com/kubernetes-sigs/kubebuilder/relea
4949
$(eval $(call tool.download,kubebuilder,$(KUBEBUILDER_VERSION),$(KUBEBUILDER_DOWNLOAD_URL)))
5050

5151
# controller-gen download and install
52-
CONTROLLER_GEN_VERSION ?= 0.15.0
52+
CONTROLLER_GEN_VERSION ?= 0.17.1
5353
CONTROLLER_GEN_DOWNLOAD_URL ?= sigs.k8s.io/controller-tools/cmd/controller-gen
5454
$(eval $(call tool.go.install,controller-gen,v$(CONTROLLER_GEN_VERSION),$(CONTROLLER_GEN_DOWNLOAD_URL)))
5555

pkg/mergo/transformers/transformers.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727
)
2828

2929
// TransformerMap is a mergo.Transformers implementation.
30-
type TransformerMap map[reflect.Type]func(dst, src reflect.Value) error
30+
type TransformerMap map[reflect.Type]func(dst, src reflect.Value) error //nolint: recvcheck
3131

3232
// PodSpec mergo transformers for corev1.PodSpec.
3333
var PodSpec TransformerMap
@@ -87,7 +87,7 @@ func (s TransformerMap) Transformer(t reflect.Type) func(dst, src reflect.Value)
8787
func (s *TransformerMap) mergeByKey(key string, dst, elem reflect.Value, opts ...func(*mergo.Config)) error {
8888
elemKey := elem.FieldByName(key)
8989

90-
for i := 0; i < dst.Len(); i++ {
90+
for i := range dst.Len() {
9191
dstKey := dst.Index(i).FieldByName(key)
9292

9393
if elemKey.Kind() != dstKey.Kind() {
@@ -141,7 +141,7 @@ func eq(key string, a, b reflect.Value) bool {
141141
}
142142

143143
func indexByKey(key string, v reflect.Value, list reflect.Value) (int, bool) {
144-
for i := 0; i < list.Len(); i++ {
144+
for i := range list.Len() {
145145
if eq(key, v, list.Index(i)) {
146146
return i, true
147147
}
@@ -164,7 +164,7 @@ func (s *TransformerMap) MergeListByKey(key string, opts ...func(*mergo.Config))
164164
return func(dst, src reflect.Value) error {
165165
entries := reflect.MakeSlice(src.Type(), src.Len(), src.Len())
166166

167-
for i := 0; i < src.Len(); i++ {
167+
for i := range src.Len() {
168168
elem := src.Index(i)
169169

170170
if err := s.mergeByKey(key, dst, elem, opts...); err != nil {
@@ -190,7 +190,7 @@ func (s *TransformerMap) MergeListByKey(key string, opts ...func(*mergo.Config))
190190
// NilOtherFields nils all fields not defined in src.
191191
func (s *TransformerMap) NilOtherFields(opts ...func(*mergo.Config)) func(_, _ reflect.Value) error {
192192
return func(dst, src reflect.Value) error {
193-
for i := 0; i < dst.NumField(); i++ {
193+
for i := range dst.NumField() {
194194
dstField := dst.Type().Field(i)
195195
srcValue := src.FieldByName(dstField.Name)
196196
dstValue := dst.FieldByName(dstField.Name)

pkg/syncer/syncer.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package syncer
1818

1919
import (
2020
"context"
21+
"errors"
2122
"fmt"
2223

2324
"github.com/iancoleman/strcase"
@@ -36,11 +37,11 @@ const (
3637

3738
var (
3839
// ErrOwnerDeleted is returned when the object owner is marked for deletion.
39-
ErrOwnerDeleted = fmt.Errorf("owner is deleted")
40+
ErrOwnerDeleted = errors.New("owner is deleted")
4041

4142
// ErrIgnore is returned for ignored errors.
4243
// Ignored errors are treated by the syncer as successful syncs.
43-
ErrIgnore = fmt.Errorf("ignored error")
44+
ErrIgnore = errors.New("ignored error")
4445
)
4546

4647
// IgnoredError wraps and marks errors as being ignored.
@@ -50,10 +51,10 @@ func IgnoredError(err error) error {
5051

5152
func basicEventReason(objKindName string, err error) string {
5253
if err != nil {
53-
return fmt.Sprintf("%sSyncFailed", strcase.ToCamel(objKindName))
54+
return strcase.ToCamel(objKindName) + "SyncFailed"
5455
}
5556

56-
return fmt.Sprintf("%sSyncSuccessfull", strcase.ToCamel(objKindName))
57+
return strcase.ToCamel(objKindName) + "SyncSuccessfull"
5758
}
5859

5960
// Redacts sensitive data from runtime.Object making them suitable for logging.

0 commit comments

Comments
 (0)