Skip to content

Commit 949abfc

Browse files
authored
Merge pull request kubernetes#130453 from BenTheElder/gotoolchain-kms
kms-e2e: use setup_env / respect GOTOOLCHAIN / use kube-cross image
2 parents 45fa12f + a1cfb13 commit 949abfc

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed

build/dependencies.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,6 @@ dependencies:
137137
- path: build/build-image/cross/VERSION
138138
- path: hack/lib/golang.sh
139139
match: minimum_go_version=go([0-9]+\.[0-9]+)
140-
- path: staging/src/k8s.io/kms/internal/plugins/_mock/Dockerfile
141-
match: golang:([0-9]+\.[0-9]+).0-bullseye
142140

143141
- name: "registry.k8s.io/kube-cross: dependents"
144142
version: v1.33.0-go1.24.0-bullseye.0

staging/src/k8s.io/kms/internal/plugins/_mock/Dockerfile

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.24.0-bullseye as builder
15+
# NOTE: this is just a default placeholder for convenience
16+
# To build this image properly, please invoke test/e2e/testing-manifests/auth/encrypt/run-e2e.sh
17+
ARG BUILDER_IMAGE=golang:latest
18+
FROM $BUILDER_IMAGE AS builder
1619

1720
WORKDIR /workspace
1821

@@ -23,6 +26,7 @@ WORKDIR /workspace/kms/internal/plugins/_mock
2326

2427
ARG TARGETARCH
2528
ARG TARGETPLATFORM
29+
ARG GOTOOLCHAIN
2630
RUN CGO_ENABLED=1 GOOS=linux GOARCH=${TARGETARCH} GO111MODULE=on go build -a -o mock-kms-plugin plugin.go
2731

2832
FROM alpine:latest

test/e2e/testing-manifests/auth/encrypt/run-e2e.sh

+18-7
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ set -o errexit
2525
set -o nounset
2626
set -o pipefail
2727

28+
KUBE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")"/../../../../.. && pwd -P)"
29+
source "${KUBE_ROOT}/hack/lib/init.sh"
30+
source "${KUBE_ROOT}/build/common.sh"
31+
2832
readonly cluster_name="kms"
2933
readonly registry_name="kind-registry"
3034
readonly kind_network="kind"
@@ -35,6 +39,8 @@ build_and_push_mock_plugin() {
3539
--no-cache \
3640
--platform linux/amd64 \
3741
--output=type=docker \
42+
--build-arg=GOTOOLCHAIN="${GOTOOLCHAIN:?}" \
43+
--build-arg=BUILDER_IMAGE="${KUBE_CROSS_IMAGE:?}:${KUBE_CROSS_VERSION:?}" \
3844
-t localhost:5000/mock-kms-provider:e2e \
3945
-f staging/src/k8s.io/kms/internal/plugins/_mock/Dockerfile staging/src/k8s.io/ \
4046
--progress=plain;
@@ -136,18 +142,23 @@ main(){
136142
export ARTIFACTS="${ARTIFACTS:-${PWD}/_artifacts}"
137143
mkdir -p "${ARTIFACTS}"
138144

139-
export GO111MODULE=on;
140-
go install sigs.k8s.io/kind@latest;
141-
go install sigs.k8s.io/kubetest2@latest;
142-
go install sigs.k8s.io/kubetest2/kubetest2-kind@latest;
143-
go install sigs.k8s.io/kubetest2/kubetest2-tester-ginkgo@latest;
145+
kube::golang::setup_env
146+
(
147+
# just while installing external tools
148+
export GO111MODULE=on GOTOOLCHAIN=auto
149+
# TODO: consider using specific versions to avoid surprise breaking changes
150+
go install sigs.k8s.io/kind@latest
151+
go install sigs.k8s.io/kubetest2@latest
152+
go install sigs.k8s.io/kubetest2/kubetest2-kind@latest
153+
go install sigs.k8s.io/kubetest2/kubetest2-tester-ginkgo@latest
154+
)
144155

145156
# The build e2e.test, ginkgo and kubectl binaries + copy to dockerized dir is
146157
# because of https://github.com/kubernetes-sigs/kubetest2/issues/184
147-
make all WHAT="test/e2e/e2e.test vendor/github.com/onsi/ginkgo/v2/ginkgo cmd/kubectl";
158+
make all WHAT="test/e2e/e2e.test vendor/github.com/onsi/ginkgo/v2/ginkgo cmd/kubectl"
148159
mkdir -p _output/dockerized/bin/linux/amd64;
149160
for binary in kubectl e2e.test ginkgo; do
150-
cp -f _output/local/go/bin/${binary} _output/dockerized/bin/linux/amd64/${binary};
161+
cp -f _output/local/go/bin/${binary} _output/dockerized/bin/linux/amd64/${binary}
151162
done;
152163

153164
create_registry

0 commit comments

Comments
 (0)