mirror of https://github.com/kubernetes/kops.git
Update makefile to reduce dependency on GOPATH
This is one step towards removing the requirement that kops lives in the GOPATH. * Consolidate the redundant KOPS_ROOT and MAKEDIR variables * Remove dependency of GOPATH_1ST variable except for `GOPATH_1ST/bin` * Remove broken check-builds-in-go111 target * Remove unused KOPS_SERVER_TAG
This commit is contained in:
parent
27ab22c965
commit
87ccecf473
38
Makefile
38
Makefile
|
|
@ -13,6 +13,8 @@
|
|||
# limitations under the License.
|
||||
|
||||
|
||||
# kops source root directory (without trailing /)
|
||||
KOPS_ROOT?=$(patsubst %/,%,$(abspath $(dir $(lastword $(MAKEFILE_LIST)))))
|
||||
DOCKER_REGISTRY?=gcr.io/must-override
|
||||
S3_BUCKET?=s3://must-override/
|
||||
UPLOAD_DEST?=$(S3_BUCKET)
|
||||
|
|
@ -22,7 +24,7 @@ LATEST_FILE?=latest-ci.txt
|
|||
GOPATH_1ST:=$(shell go env | grep GOPATH | cut -f 2 -d \")
|
||||
UNIQUE:=$(shell date +%s)
|
||||
GOVERSION=1.13.4
|
||||
BUILD=$(GOPATH_1ST)/src/k8s.io/kops/.build
|
||||
BUILD=$(KOPS_ROOT)/.build
|
||||
LOCAL=$(BUILD)/local
|
||||
BINDATA_TARGETS=upup/models/bindata.go
|
||||
ARTIFACTS=$(BUILD)/artifacts
|
||||
|
|
@ -33,7 +35,7 @@ CHANNELS=$(LOCAL)/channels
|
|||
NODEUP=$(LOCAL)/nodeup
|
||||
PROTOKUBE=$(LOCAL)/protokube
|
||||
UPLOAD=$(BUILD)/upload
|
||||
BAZELBUILD=$(GOPATH_1ST)/src/k8s.io/kops/.bazelbuild
|
||||
BAZELBUILD=$(KOPS_ROOT)/.bazelbuild
|
||||
BAZELDIST=$(BAZELBUILD)/dist
|
||||
BAZELIMAGES=$(BAZELDIST)/images
|
||||
BAZELUPLOAD=$(BAZELBUILD)/upload
|
||||
|
|
@ -44,11 +46,7 @@ BAZEL_CONFIG?=
|
|||
API_OPTIONS?=
|
||||
GCFLAGS?=
|
||||
|
||||
# See http://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile
|
||||
MAKEDIR:=$(strip $(shell dirname "$(realpath $(lastword $(MAKEFILE_LIST)))"))
|
||||
|
||||
UPLOAD_CMD=$(MAKEDIR)/hack/upload
|
||||
|
||||
UPLOAD_CMD=$(KOPS_ROOT)/hack/upload
|
||||
|
||||
# Unexport environment variables that can affect tests and are not used in builds
|
||||
unexport AWS_ACCESS_KEY_ID AWS_REGION AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN CNI_VERSION_URL DNS_IGNORE_NS_CHECK DNSCONTROLLER_IMAGE DO_ACCESS_TOKEN GOOGLE_APPLICATION_CREDENTIALS
|
||||
|
|
@ -68,10 +66,7 @@ KOPS_CI_VERSION:=$(shell grep 'KOPS_CI_VERSION\s*=' version.go | awk '{print $$3
|
|||
# kops local location
|
||||
KOPS = ${LOCAL}/kops
|
||||
|
||||
# kops source root directory (without trailing /)
|
||||
KOPS_ROOT ?= $(patsubst %/,%,$(abspath $(dir $(firstword $(MAKEFILE_LIST)))))
|
||||
|
||||
GITSHA := $(shell cd ${GOPATH_1ST}/src/k8s.io/kops; git describe --always)
|
||||
GITSHA := $(shell cd ${KOPS_ROOT}; git describe --always)
|
||||
|
||||
# Keep in sync with logic in get_workspace_status
|
||||
ifndef VERSION
|
||||
|
|
@ -95,7 +90,6 @@ endif
|
|||
# + is valid in semver, but not in docker tags. Fixup CI versions.
|
||||
# Note that this mirrors the logic in DefaultProtokubeImageName
|
||||
PROTOKUBE_TAG := $(subst +,-,${VERSION})
|
||||
KOPS_SERVER_TAG := $(subst +,-,${VERSION})
|
||||
|
||||
# Go exports:
|
||||
LDFLAGS := -ldflags=all=
|
||||
|
|
@ -180,21 +174,17 @@ kops-gobindata: gobindata-tool ${BINDATA_TARGETS}
|
|||
|
||||
UPUP_MODELS_BINDATA_SOURCES:=$(shell find upup/models/ | egrep -v "upup/models/bindata.go")
|
||||
upup/models/bindata.go: ${GOBINDATA} ${UPUP_MODELS_BINDATA_SOURCES}
|
||||
cd ${GOPATH_1ST}/src/k8s.io/kops; ${GOBINDATA} -o $@ -pkg models -nometadata -ignore="\\.DS_Store" -ignore="bindata\\.go" -ignore="vfs\\.go" -prefix upup/models/ upup/models/... && GO111MODULE=on go run golang.org/x/tools/cmd/goimports -w -v upup/models/bindata.go
|
||||
cd ${KOPS_ROOT}; ${GOBINDATA} -o $@ -pkg models -nometadata -ignore="\\.DS_Store" -ignore="bindata\\.go" -ignore="vfs\\.go" -prefix upup/models/ upup/models/... && GO111MODULE=on go run golang.org/x/tools/cmd/goimports -w -v upup/models/bindata.go
|
||||
|
||||
# Build in a docker container with golang 1.X
|
||||
# Used to test we have not broken 1.X
|
||||
.PHONY: check-builds-in-go111
|
||||
check-builds-in-go111:
|
||||
docker run -e GO111MODULE=on -e EXTRA_BUILDFLAGS=-mod=vendor -v ${GOPATH_1ST}/src/k8s.io/kops:/go/src/k8s.io/kops golang:1.11 make -C /go/src/k8s.io/kops all
|
||||
|
||||
.PHONY: check-builds-in-go112
|
||||
check-builds-in-go112:
|
||||
docker run -e GO111MODULE=on -e EXTRA_BUILDFLAGS=-mod=vendor -v ${GOPATH_1ST}/src/k8s.io/kops:/go/src/k8s.io/kops golang:1.12 make -C /go/src/k8s.io/kops all
|
||||
docker run -e GO111MODULE=on -e EXTRA_BUILDFLAGS=-mod=vendor -v ${KOPS_ROOT}:/go/src/k8s.io/kops golang:1.12 make -C /go/src/k8s.io/kops all
|
||||
|
||||
.PHONY: check-builds-in-go113
|
||||
check-builds-in-go113:
|
||||
docker run -e EXTRA_BUILDFLAGS=-mod=vendor -v ${GOPATH_1ST}/src/k8s.io/kops:/go/src/k8s.io/kops golang:1.13 make -C /go/src/k8s.io/kops all
|
||||
docker run -e EXTRA_BUILDFLAGS=-mod=vendor -v ${KOPS_ROOT}:/go/src/k8s.io/kops golang:1.13 make -C /go/src/k8s.io/kops all
|
||||
|
||||
.PHONY: codegen
|
||||
codegen: kops-gobindata
|
||||
|
|
@ -231,7 +221,7 @@ crossbuild-nodeup: ${DIST}/linux/amd64/nodeup
|
|||
.PHONY: crossbuild-nodeup-in-docker
|
||||
crossbuild-nodeup-in-docker:
|
||||
docker pull golang:${GOVERSION} # Keep golang image up to date
|
||||
docker run --name=nodeup-build-${UNIQUE} -e STATIC_BUILD=yes -e VERSION=${VERSION} -v ${MAKEDIR}:/go/src/k8s.io/kops golang:${GOVERSION} make -C /go/src/k8s.io/kops/ crossbuild-nodeup
|
||||
docker run --name=nodeup-build-${UNIQUE} -e STATIC_BUILD=yes -e VERSION=${VERSION} -v ${KOPS_ROOT}:/go/src/k8s.io/kops golang:${GOVERSION} make -C /go/src/k8s.io/kops/ crossbuild-nodeup
|
||||
docker start nodeup-build-${UNIQUE}
|
||||
docker exec nodeup-build-${UNIQUE} chown -R ${UID}:${GID} /go/src/k8s.io/kops/.build
|
||||
docker cp nodeup-build-${UNIQUE}:/go/src/k8s.io/kops/.build .
|
||||
|
|
@ -260,7 +250,7 @@ crossbuild: ${DIST}/windows/amd64/kops.exe ${DIST}/darwin/amd64/kops ${DIST}/lin
|
|||
.PHONY: crossbuild-in-docker
|
||||
crossbuild-in-docker:
|
||||
docker pull golang:${GOVERSION} # Keep golang image up to date
|
||||
docker run --name=kops-build-${UNIQUE} -e STATIC_BUILD=yes -e VERSION=${VERSION} -v ${MAKEDIR}:/go/src/k8s.io/kops golang:${GOVERSION} make -C /go/src/k8s.io/kops/ crossbuild
|
||||
docker run --name=kops-build-${UNIQUE} -e STATIC_BUILD=yes -e VERSION=${VERSION} -v ${KOPS_ROOT}:/go/src/k8s.io/kops golang:${GOVERSION} make -C /go/src/k8s.io/kops/ crossbuild
|
||||
docker start kops-build-${UNIQUE}
|
||||
docker exec kops-build-${UNIQUE} chown -R ${UID}:${GID} /go/src/k8s.io/kops/.build
|
||||
docker cp kops-build-${UNIQUE}:/go/src/k8s.io/kops/.build .
|
||||
|
|
@ -427,7 +417,7 @@ ${NODEUP}: ${BINDATA_TARGETS}
|
|||
nodeup-dist:
|
||||
mkdir -p ${DIST}
|
||||
docker pull golang:${GOVERSION} # Keep golang image up to date
|
||||
docker run --name=nodeup-build-${UNIQUE} -e STATIC_BUILD=yes -e VERSION=${VERSION} -v ${MAKEDIR}:/go/src/k8s.io/kops golang:${GOVERSION} make -C /go/src/k8s.io/kops/ nodeup
|
||||
docker run --name=nodeup-build-${UNIQUE} -e STATIC_BUILD=yes -e VERSION=${VERSION} -v ${KOPS_ROOT}:/go/src/k8s.io/kops golang:${GOVERSION} make -C /go/src/k8s.io/kops/ nodeup
|
||||
docker start nodeup-build-${UNIQUE}
|
||||
docker exec nodeup-build-${UNIQUE} chown -R ${UID}:${GID} /go/src/k8s.io/kops/.build
|
||||
docker cp nodeup-build-${UNIQUE}:/go/src/k8s.io/kops/.build/local/nodeup .build/dist/
|
||||
|
|
@ -482,7 +472,7 @@ gomod: gomod-prereqs
|
|||
|
||||
.PHONY: gofmt
|
||||
gofmt:
|
||||
find $(MAKEDIR) -name "*.go" | grep -v vendor | xargs bazel run //:gofmt -- -w -s
|
||||
find $(KOPS_ROOT) -name "*.go" | grep -v vendor | xargs bazel run //:gofmt -- -w -s
|
||||
|
||||
.PHONY: goimports
|
||||
goimports:
|
||||
|
|
@ -811,7 +801,7 @@ build-docs:
|
|||
|
||||
.PHONY: build-docs-netlify
|
||||
build-docs-netlify:
|
||||
pip install -r ${MAKEDIR}/images/mkdocs/requirements.txt
|
||||
pip install -r ${KOPS_ROOT}/images/mkdocs/requirements.txt
|
||||
mkdocs build
|
||||
|
||||
# Update machine_types.go
|
||||
|
|
|
|||
Loading…
Reference in New Issue