From f5ca74e84a951c1c3cabfc6b000a6048b2a5d99c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2026 17:23:54 +0000 Subject: [PATCH 1/2] Update Go toolchain to v1.27.0 --- docker/Dockerfile | 2 +- docker/Dockerfile.devel | 2 +- versions.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 6baf8ab03..b65dcc025 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -14,7 +14,7 @@ ARG CUDA_SAMPLES_VERSION=13.2 -FROM golang:1.26.6@sha256:0d1d3a794be25f809dd2cb3160d8c73276c4056a9f8242a138e908ddeee7b6b6 AS builder +FROM golang:1.27.0@sha256:65b6f280bf050ec5af12716857e8ea8439d694dbba8f31ceeb7630670071f2bb AS builder ARG GOPROXY="https://proxy.golang.org,direct" ENV GOPROXY=$GOPROXY diff --git a/docker/Dockerfile.devel b/docker/Dockerfile.devel index c87e21033..09d5534ff 100644 --- a/docker/Dockerfile.devel +++ b/docker/Dockerfile.devel @@ -13,6 +13,6 @@ # limitations under the License. ARG GOLANGCI_LINT_VERSION=1.60.3 -FROM golang:1.26.6@sha256:0d1d3a794be25f809dd2cb3160d8c73276c4056a9f8242a138e908ddeee7b6b6 +FROM golang:1.27.0@sha256:65b6f280bf050ec5af12716857e8ea8439d694dbba8f31ceeb7630670071f2bb RUN curl -sSfL https://golangci-lint.run/install.sh | sh -s -- -b $(go env GOPATH)/bin ${GOLANGCI_LINT_VERSION} diff --git a/versions.mk b/versions.mk index 194ce6f7f..a8150ae53 100644 --- a/versions.mk +++ b/versions.mk @@ -19,7 +19,7 @@ # - use environment variables to overwrite this value (e.g export VERSION=0.0.2) VERSION ?= v26.7.0 -GOLANG_VERSION ?= 1.26.6 +GOLANG_VERSION ?= 1.27.0 GOLANGCI_LINT_VERSION ?= v2.12.2 From 2cd3d6b09cb95235383a6897316200130106404c Mon Sep 17 00:00:00 2001 From: Rajath Agasthya Date: Fri, 21 Aug 2026 12:40:11 -0500 Subject: [PATCH 2/2] Update golangci-lint to v2.13.1 That version supports Go 1.27. The staticcheck bundled with v2.13.1 reports SA1019 deprecation issues that the previous version did not, so fix those as well: The .golangci.yml exclusions for the deprecated licensing-config fields stopped matching because staticcheck now emits full type symbol names ((pkg.Type).Field). Update the patterns to the new format. Drop the deprecated Requeue field from the upgrade controller's results. RequeueAfter is always set to a non-zero interval there, and controller-runtime ignores Requeue whenever RequeueAfter is positive. Signed-off-by: Rajath Agasthya --- .golangci.yml | 4 ++-- controllers/upgrade_controller.go | 4 ++-- versions.mk | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 104d83cdd..bbc2e95ec 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -27,11 +27,11 @@ linters: - linters: - staticcheck path: (.+)\.go$ - text: 'SA1019: config.Driver.LicensingConfig.ConfigMapName is deprecated(.+)' + text: 'SA1019: \(github.com/NVIDIA/gpu-operator/api/nvidia/v1.DriverLicensingConfigSpec\).ConfigMapName is deprecated(.+)' - linters: - staticcheck path: (.+)\.go$ - text: 'SA1019: cr.Spec.LicensingConfig.Name is deprecated(.+)' + text: 'SA1019: \(github.com/NVIDIA/gpu-operator/api/nvidia/v1alpha1.DriverLicensingConfigSpec\).Name is deprecated(.+)' formatters: enable: - gofmt diff --git a/controllers/upgrade_controller.go b/controllers/upgrade_controller.go index 82fc0f2f3..ee6788205 100644 --- a/controllers/upgrade_controller.go +++ b/controllers/upgrade_controller.go @@ -193,7 +193,7 @@ func (r *UpgradeReconciler) reconcileClusterPolicyDriverUpgrades(ctx context.Con // might become stuck until the new reconcile loop is scheduled. // Since node/ds/clusterpolicy updates from outside of the upgrade flow // are not guaranteed, for safety reconcile loop should be requeued every few minutes. - return ctrl.Result{Requeue: true, RequeueAfter: plannedRequeueInterval}, nil + return ctrl.Result{RequeueAfter: plannedRequeueInterval}, nil } // reconcileNVIDIADriverUpgrades handles driver upgrade reconciliation when the NVIDIADriver CRD @@ -316,7 +316,7 @@ func (r *UpgradeReconciler) reconcileNVIDIADriverUpgrades(ctx context.Context, r // might become stuck until the new reconcile loop is scheduled. // Since node/ds/clusterpolicy updates from outside of the upgrade flow // are not guaranteed, for safety reconcile loop should be requeued every few minutes. - return ctrl.Result{Requeue: true, RequeueAfter: plannedRequeueInterval}, nil + return ctrl.Result{RequeueAfter: plannedRequeueInterval}, nil } // removeNodeUpgradeStateLabels loops over nodes in the cluster and removes "nvidia.com/gpu-driver-upgrade-state" diff --git a/versions.mk b/versions.mk index a8150ae53..1e8d1fac3 100644 --- a/versions.mk +++ b/versions.mk @@ -21,7 +21,7 @@ VERSION ?= v26.7.0 GOLANG_VERSION ?= 1.27.0 -GOLANGCI_LINT_VERSION ?= v2.12.2 +GOLANGCI_LINT_VERSION ?= v2.13.1 REGCTL_VERSION ?= v0.11.5