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.
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
# kops source root directory (without trailing /)
|
||||||
|
KOPS_ROOT?=$(patsubst %/,%,$(abspath $(dir $(lastword $(MAKEFILE_LIST)))))
|
||||||
DOCKER_REGISTRY?=gcr.io/must-override
|
DOCKER_REGISTRY?=gcr.io/must-override
|
||||||
S3_BUCKET?=s3://must-override/
|
S3_BUCKET?=s3://must-override/
|
||||||
UPLOAD_DEST?=$(S3_BUCKET)
|
UPLOAD_DEST?=$(S3_BUCKET)
|
||||||
|
|
@ -22,7 +24,7 @@ LATEST_FILE?=latest-ci.txt
|
||||||
GOPATH_1ST:=$(shell go env | grep GOPATH | cut -f 2 -d \")
|
GOPATH_1ST:=$(shell go env | grep GOPATH | cut -f 2 -d \")
|
||||||
UNIQUE:=$(shell date +%s)
|
UNIQUE:=$(shell date +%s)
|
||||||
GOVERSION=1.13.4
|
GOVERSION=1.13.4
|
||||||
BUILD=$(GOPATH_1ST)/src/k8s.io/kops/.build
|
BUILD=$(KOPS_ROOT)/.build
|
||||||
LOCAL=$(BUILD)/local
|
LOCAL=$(BUILD)/local
|
||||||
BINDATA_TARGETS=upup/models/bindata.go
|
BINDATA_TARGETS=upup/models/bindata.go
|
||||||
ARTIFACTS=$(BUILD)/artifacts
|
ARTIFACTS=$(BUILD)/artifacts
|
||||||
|
|
@ -33,7 +35,7 @@ CHANNELS=$(LOCAL)/channels
|
||||||
NODEUP=$(LOCAL)/nodeup
|
NODEUP=$(LOCAL)/nodeup
|
||||||
PROTOKUBE=$(LOCAL)/protokube
|
PROTOKUBE=$(LOCAL)/protokube
|
||||||
UPLOAD=$(BUILD)/upload
|
UPLOAD=$(BUILD)/upload
|
||||||
BAZELBUILD=$(GOPATH_1ST)/src/k8s.io/kops/.bazelbuild
|
BAZELBUILD=$(KOPS_ROOT)/.bazelbuild
|
||||||
BAZELDIST=$(BAZELBUILD)/dist
|
BAZELDIST=$(BAZELBUILD)/dist
|
||||||
BAZELIMAGES=$(BAZELDIST)/images
|
BAZELIMAGES=$(BAZELDIST)/images
|
||||||
BAZELUPLOAD=$(BAZELBUILD)/upload
|
BAZELUPLOAD=$(BAZELBUILD)/upload
|
||||||
|
|
@ -44,11 +46,7 @@ BAZEL_CONFIG?=
|
||||||
API_OPTIONS?=
|
API_OPTIONS?=
|
||||||
GCFLAGS?=
|
GCFLAGS?=
|
||||||
|
|
||||||
# See http://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile
|
UPLOAD_CMD=$(KOPS_ROOT)/hack/upload
|
||||||
MAKEDIR:=$(strip $(shell dirname "$(realpath $(lastword $(MAKEFILE_LIST)))"))
|
|
||||||
|
|
||||||
UPLOAD_CMD=$(MAKEDIR)/hack/upload
|
|
||||||
|
|
||||||
|
|
||||||
# Unexport environment variables that can affect tests and are not used in builds
|
# 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
|
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 location
|
||||||
KOPS = ${LOCAL}/kops
|
KOPS = ${LOCAL}/kops
|
||||||
|
|
||||||
# kops source root directory (without trailing /)
|
GITSHA := $(shell cd ${KOPS_ROOT}; git describe --always)
|
||||||
KOPS_ROOT ?= $(patsubst %/,%,$(abspath $(dir $(firstword $(MAKEFILE_LIST)))))
|
|
||||||
|
|
||||||
GITSHA := $(shell cd ${GOPATH_1ST}/src/k8s.io/kops; git describe --always)
|
|
||||||
|
|
||||||
# Keep in sync with logic in get_workspace_status
|
# Keep in sync with logic in get_workspace_status
|
||||||
ifndef VERSION
|
ifndef VERSION
|
||||||
|
|
@ -95,7 +90,6 @@ endif
|
||||||
# + is valid in semver, but not in docker tags. Fixup CI versions.
|
# + is valid in semver, but not in docker tags. Fixup CI versions.
|
||||||
# Note that this mirrors the logic in DefaultProtokubeImageName
|
# Note that this mirrors the logic in DefaultProtokubeImageName
|
||||||
PROTOKUBE_TAG := $(subst +,-,${VERSION})
|
PROTOKUBE_TAG := $(subst +,-,${VERSION})
|
||||||
KOPS_SERVER_TAG := $(subst +,-,${VERSION})
|
|
||||||
|
|
||||||
# Go exports:
|
# Go exports:
|
||||||
LDFLAGS := -ldflags=all=
|
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_SOURCES:=$(shell find upup/models/ | egrep -v "upup/models/bindata.go")
|
||||||
upup/models/bindata.go: ${GOBINDATA} ${UPUP_MODELS_BINDATA_SOURCES}
|
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
|
# Build in a docker container with golang 1.X
|
||||||
# Used to test we have not broken 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
|
.PHONY: check-builds-in-go112
|
||||||
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
|
.PHONY: check-builds-in-go113
|
||||||
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
|
.PHONY: codegen
|
||||||
codegen: kops-gobindata
|
codegen: kops-gobindata
|
||||||
|
|
@ -231,7 +221,7 @@ crossbuild-nodeup: ${DIST}/linux/amd64/nodeup
|
||||||
.PHONY: crossbuild-nodeup-in-docker
|
.PHONY: crossbuild-nodeup-in-docker
|
||||||
crossbuild-nodeup-in-docker:
|
crossbuild-nodeup-in-docker:
|
||||||
docker pull golang:${GOVERSION} # Keep golang image up to date
|
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 start nodeup-build-${UNIQUE}
|
||||||
docker exec nodeup-build-${UNIQUE} chown -R ${UID}:${GID} /go/src/k8s.io/kops/.build
|
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 .
|
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
|
.PHONY: crossbuild-in-docker
|
||||||
crossbuild-in-docker:
|
crossbuild-in-docker:
|
||||||
docker pull golang:${GOVERSION} # Keep golang image up to date
|
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 start kops-build-${UNIQUE}
|
||||||
docker exec kops-build-${UNIQUE} chown -R ${UID}:${GID} /go/src/k8s.io/kops/.build
|
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 .
|
docker cp kops-build-${UNIQUE}:/go/src/k8s.io/kops/.build .
|
||||||
|
|
@ -427,7 +417,7 @@ ${NODEUP}: ${BINDATA_TARGETS}
|
||||||
nodeup-dist:
|
nodeup-dist:
|
||||||
mkdir -p ${DIST}
|
mkdir -p ${DIST}
|
||||||
docker pull golang:${GOVERSION} # Keep golang image up to date
|
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 start nodeup-build-${UNIQUE}
|
||||||
docker exec nodeup-build-${UNIQUE} chown -R ${UID}:${GID} /go/src/k8s.io/kops/.build
|
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/
|
docker cp nodeup-build-${UNIQUE}:/go/src/k8s.io/kops/.build/local/nodeup .build/dist/
|
||||||
|
|
@ -482,7 +472,7 @@ gomod: gomod-prereqs
|
||||||
|
|
||||||
.PHONY: gofmt
|
.PHONY: gofmt
|
||||||
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
|
.PHONY: goimports
|
||||||
goimports:
|
goimports:
|
||||||
|
|
@ -811,7 +801,7 @@ build-docs:
|
||||||
|
|
||||||
.PHONY: build-docs-netlify
|
.PHONY: build-docs-netlify
|
||||||
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
|
mkdocs build
|
||||||
|
|
||||||
# Update machine_types.go
|
# Update machine_types.go
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue