Derive dev-tool CLI versions from go.mod (ginkgo, protoc-gen-go, goimports) (#10024)

* Derive Ginkgo CLI version from go.mod in test/Makefile

Hardcoded @v2.22.0 pin drifted from go.mod's v2.28.3, causing
Ginkgo CLI/package version mismatch warnings.

Fixes #10023

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

* Derive protoc-gen-go and goimports versions from go.mod in build-image

Same drift issue as #10023: Dockerfile hardcoded @v1.33.0 and @v0.33.0
while go.mod had moved on. Build context is hack/build-image, which
doesn't include go.mod, so versions are computed in the Makefile (which
does have go.mod) and passed through as build-args, same as GOPROXY.

protoc-gen-go-grpc and controller-gen/setup-envtest/golangci-lint are
left as-is: no matching go.mod entry, or independently versioned from
the module they live alongside.

Fixes #10023

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

---------

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
This commit is contained in:
Tiger Kaovilai
2026-07-23 15:43:47 -04:00
committed by GitHub
parent e5654fa7ed
commit 5ecf38b5d7
3 changed files with 15 additions and 7 deletions
+6 -4
View File
@@ -15,6 +15,8 @@
FROM --platform=$TARGETPLATFORM golang:1.26-trixie
ARG GOPROXY
ARG PROTOC_GEN_GO_VERSION
ARG GOIMPORTS_VERSION
ENV GO111MODULE=on
# Use a proxy for go modules to reduce the likelihood of various hosts being down and breaking the build
@@ -34,9 +36,9 @@ RUN wget --quiet https://github.com/kubernetes-sigs/kubebuilder/releases/downloa
# get controller-tools
RUN go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.5
# get goimports (the revision is pinned so we don't indiscriminately update, but the particular commit
# is not important)
RUN go install golang.org/x/tools/cmd/goimports@v0.33.0
# get goimports, version derived from go.mod's golang.org/x/tools requirement
# (see https://github.com/velero-io/velero/issues/10023)
RUN go install golang.org/x/tools/cmd/goimports@${GOIMPORTS_VERSION}
# get protoc compiler and golang plugin
WORKDIR /root
@@ -71,7 +73,7 @@ RUN ARCH=$(go env GOARCH) && \
chmod a+x /usr/include/google/protobuf && \
chmod a+r -R /usr/include/google && \
chmod +x /usr/bin/protoc
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.33.0 \
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@${PROTOC_GEN_GO_VERSION} \
&& go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
# get goreleaser