From 260b035f0d8f565601e98bb6f0490530aa6dd828 Mon Sep 17 00:00:00 2001 From: Markus Wennrich Date: Wed, 26 Aug 2020 09:21:13 +0200 Subject: [PATCH] fix build for go 1.15 * call go mod vendor from Makefile * use code-generator from go.mod * update to golang:1.15 AS builder * update to alpine:3.12 * update dependencies --- Dockerfile | 3 ++- Makefile | 11 +++++++--- hack/install-requirements.sh | 8 ------- hack/tools.go | 22 +++++++++++++++++++ .../controlplane/valuesprovider_test.go | 2 +- pkg/controller/worker/machines_test.go | 6 ++--- pkg/webhook/controlplane/ensurer_test.go | 2 +- .../controlplaneexposure/ensurer_test.go | 2 +- 8 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 hack/tools.go diff --git a/Dockerfile b/Dockerfile index 6d55181cc..df8bb0053 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,12 @@ ############# builder-base ############# -FROM golang:1.13 AS builder +FROM golang:1.15 AS builder WORKDIR /go/src/github.com/metal-stack/gardener-extension-provider-metal COPY . . RUN hack/install-requirements.sh \ && make VERIFY=$VERIFY all + ############# base ############# FROM alpine:3.12 RUN apk add --update bash curl diff --git a/Makefile b/Makefile index 0bead8632..0edacba60 100644 --- a/Makefile +++ b/Makefile @@ -23,15 +23,20 @@ format: clean: @./hack/clean.sh +.PHONY: vendor +vendor: + @go mod vendor + .PHONY: generate generate: @./hack/generate.sh .PHONE: generate-in-docker generate-in-docker: - docker run --rm -it -v $(PWD):/go/src/github.com/metal-stack/gardener-extension-provider-metal golang:1.14 \ + docker run --rm -it -v $(PWD):/go/src/github.com/metal-stack/gardener-extension-provider-metal golang:1.15 \ sh -c "cd /go/src/github.com/metal-stack/gardener-extension-provider-metal \ && ./hack/install-requirements.sh \ + && make vendor \ && make generate \ && chown -R $(shell id -u):$(shell id -g) ." @@ -52,9 +57,9 @@ install: .PHONY: all ifeq ($(VERIFY),true) -all: verify generate install +all: vendor verify generate install else -all: generate install +all: vendor generate install endif ### Docker commands diff --git a/hack/install-requirements.sh b/hack/install-requirements.sh index 37dc002bb..b03c1bcbe 100755 --- a/hack/install-requirements.sh +++ b/hack/install-requirements.sh @@ -44,11 +44,3 @@ $ export PATH=/usr/local/opt/coreutils/libexec/gnubin:\$PATH EOM fi -# install code-generator which is required for generate-code -echo "installing code-generator" -mkdir -p "$DIRNAME/../vendor/k8s.io/" -cd "$DIRNAME/../vendor/k8s.io/" -rm -rf * -curl -fLs https://github.com/kubernetes/code-generator/archive/v0.16.6.tar.gz | tar -xzf - -mv code-generator-0.16.6 code-generator -cd - \ No newline at end of file diff --git a/hack/tools.go b/hack/tools.go new file mode 100644 index 000000000..223368443 --- /dev/null +++ b/hack/tools.go @@ -0,0 +1,22 @@ +// +build tools + +// Copyright (c) 2020 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This package imports things required by build scripts, to force `go mod` to see them as dependencies +package tools + +import ( + _ "k8s.io/code-generator" +) diff --git a/pkg/controller/controlplane/valuesprovider_test.go b/pkg/controller/controlplane/valuesprovider_test.go index 5a83a3d3c..25ff425b3 100644 --- a/pkg/controller/controlplane/valuesprovider_test.go +++ b/pkg/controller/controlplane/valuesprovider_test.go @@ -9,8 +9,8 @@ import ( "github.com/metal-stack/gardener-extension-provider-metal/pkg/metal" gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1" + gardenv1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1" - gardenv1beta1 "github.com/gardener/gardener/pkg/apis/garden/v1beta1" "github.com/golang/mock/gomock" diff --git a/pkg/controller/worker/machines_test.go b/pkg/controller/worker/machines_test.go index 6a4809340..71651993f 100644 --- a/pkg/controller/worker/machines_test.go +++ b/pkg/controller/worker/machines_test.go @@ -8,15 +8,15 @@ import ( extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller" "github.com/gardener/gardener/extensions/pkg/controller/worker" - mockclient "github.com/gardener/gardener/extensions/pkg/mock/controller-runtime/client" - mockkubernetes "github.com/gardener/gardener/extensions/pkg/mock/gardener/client/kubernetes" + mockclient "github.com/gardener/gardener/pkg/mock/controller-runtime/client" + mockkubernetes "github.com/gardener/gardener/pkg/mock/gardener/client/kubernetes" "github.com/metal-stack/gardener-extension-provider-metal/pkg/apis/config" apismetal "github.com/metal-stack/gardener-extension-provider-metal/pkg/apis/metal" . "github.com/metal-stack/gardener-extension-provider-metal/pkg/controller/worker" "github.com/metal-stack/gardener-extension-provider-metal/pkg/metal" + gardenv1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1" - gardenv1beta1 "github.com/gardener/gardener/pkg/apis/garden/v1beta1" "github.com/golang/mock/gomock" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" diff --git a/pkg/webhook/controlplane/ensurer_test.go b/pkg/webhook/controlplane/ensurer_test.go index a9e74446c..8bfcf6047 100644 --- a/pkg/webhook/controlplane/ensurer_test.go +++ b/pkg/webhook/controlplane/ensurer_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - mockclient "github.com/gardener/gardener/extensions/pkg/mock/controller-runtime/client" extensionswebhook "github.com/gardener/gardener/extensions/pkg/webhook" "github.com/gardener/gardener/extensions/pkg/webhook/controlplane/test" gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1" + mockclient "github.com/gardener/gardener/pkg/mock/controller-runtime/client" "github.com/metal-stack/gardener-extension-provider-metal/pkg/metal" "github.com/coreos/go-systemd/unit" diff --git a/pkg/webhook/controlplaneexposure/ensurer_test.go b/pkg/webhook/controlplaneexposure/ensurer_test.go index 8ddc3c6c5..ebd2f9930 100644 --- a/pkg/webhook/controlplaneexposure/ensurer_test.go +++ b/pkg/webhook/controlplaneexposure/ensurer_test.go @@ -4,9 +4,9 @@ import ( "context" "testing" - mockclient "github.com/gardener/gardener/extensions/pkg/mock/controller-runtime/client" "github.com/gardener/gardener/extensions/pkg/util" "github.com/gardener/gardener/extensions/pkg/webhook/controlplane" + mockclient "github.com/gardener/gardener/pkg/mock/controller-runtime/client" "github.com/metal-stack/gardener-extension-provider-metal/pkg/apis/config" "github.com/golang/mock/gomock"