diff --git a/Makefile b/Makefile index 69c1e161e0..e61d97c7ce 100644 --- a/Makefile +++ b/Makefile @@ -46,7 +46,14 @@ COMMIT_SHORT = $(shell git rev-parse --short HEAD 2> /dev/null || true) HYPERKIT_BUILD_IMAGE ?= karalabe/xgo-1.12.x # NOTE: "latest" as of 2020-05-13. kube-cross images aren't updated as often as Kubernetes # https://github.com/kubernetes/kubernetes/blob/master/build/build-image/cross/VERSION -BUILD_IMAGE ?= us.gcr.io/k8s-artifacts-prod/build-image/kube-cross:v$(GO_VERSION)-1 + + +# +# TODO: See https://github.com/kubernetes/minikube/issues/10276 +#BUILD_IMAGE ?= us.gcr.io/k8s-artifacts-prod/build-image/kube-cross:v$(GO_VERSION)-1 +BUILD_IMAGE ?= golang:1.16beta1-buster +# + ISO_BUILD_IMAGE ?= $(REGISTRY)/buildroot-image KVM_BUILD_IMAGE ?= $(REGISTRY)/kvm-build-image:$(GO_VERSION) @@ -204,10 +211,15 @@ out/minikube-linux-aarch64: out/minikube-linux-arm64 $(if $(quiet),@echo " CP $@") $(Q)cp $< $@ -.PHONY: minikube-linux-amd64 minikube-linux-arm64 minikube-darwin-amd64 minikube-windows-amd64.exe +.PHONY: minikube-linux-amd64 minikube-linux-arm64 minikube-linux-amd64: out/minikube-linux-amd64 ## Build Minikube for Linux 64bit -minikube-linux-arm64: out/minikube-linux-arm64 ## Build Minikube for ARM 64bit -minikube-darwin-amd64: out/minikube-darwin-amd64 ## Build Minikube for Darwin 64bit +minikube-linux-arm64: out/minikube-linux-arm64 ## Build Minikube for arm 64bit + +.PHONY: minikube-darwin-amd64 minikube-darwin-arm64 +minikube-darwin-amd64: out/minikube-darwin-amd64 ## Build Minikube for Darwin x86 64bit +minikube-darwin-arm64: out/minikube-darwin-arm64 ## Build Minikube for Darwin ARM 64bit + +.PHONY: minikube-windows-amd64.exe minikube-windows-amd64.exe: out/minikube-windows-amd64.exe ## Build Minikube for Windows 64bit out/minikube-%: $(SOURCE_GENERATED) $(SOURCE_FILES) @@ -220,10 +232,11 @@ else endif .PHONY: e2e-linux-amd64 e2e-linux-arm64 e2e-darwin-amd64 e2e-windows-amd64.exe -e2e-linux-amd64: out/e2e-linux-amd64 ## Execute end-to-end testing for Linux 64bit -e2e-linux-arm64: out/e2e-linux-arm64 ## Execute end-to-end testing for Linux ARM 64bit -e2e-darwin-amd64: out/e2e-darwin-amd64 ## Execute end-to-end testing for Darwin 64bit -e2e-windows-amd64.exe: out/e2e-windows-amd64.exe ## Execute end-to-end testing for Windows 64bit +e2e-linux-amd64: out/e2e-linux-amd64 ## build end2end binary for Linux x86 64bit +e2e-linux-arm64: out/e2e-linux-arm64 ## build end2end binary for Linux ARM 64bit +e2e-darwin-amd64: out/e2e-darwin-amd64 ## build end2end binary for Darwin x86 64bit +e2e-darwin-arm64: out/e2e-darwin-arm64 ## build end2end binary for Darwin ARM 64bit +e2e-windows-amd64.exe: out/e2e-windows-amd64.exe ## build end2end binary for Windows 64bit out/e2e-%: out/minikube-% GOOS="$(firstword $(subst -, ,$*))" GOARCH="$(lastword $(subst -, ,$(subst $(IS_EXE), ,$*)))" go test -ldflags="${MINIKUBE_LDFLAGS}" -c k8s.io/minikube/test/integration --tags="$(MINIKUBE_INTEGRATION_BUILD_TAGS)" -o $@ @@ -465,9 +478,14 @@ verify-iso: # Make sure the current ISO exists in the expected bucket out/docs/minikube.md: $(shell find "cmd") $(shell find "pkg/minikube/constants") pkg/minikube/assets/assets.go pkg/minikube/translate/translations.go go run -ldflags="$(MINIKUBE_LDFLAGS)" -tags gendocs hack/help_text/gen_help_text.go +.PHONY: deb_version deb_version: @echo $(DEB_VERSION)-$(DEB_REVISION) +.PHONY: deb_version_base +deb_version_base: + @echo $(DEB_VERSION) + out/minikube_$(DEB_VERSION).deb: out/minikube_$(DEB_VERSION)-$(DEB_REVISION)_amd64.deb cp $< $@ diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 0008346e16..6ee070ac7a 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -58,6 +58,7 @@ BR2_PACKAGE_OPENVMTOOLS=y BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_MACHINED=y BR2_PACKAGE_SYSTEMD_VCONSOLE=y +BR2_PACKAGE_UTIL_LINUX_LOSETUP=y BR2_PACKAGE_UTIL_LINUX_NSENTER=y BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y BR2_TARGET_ROOTFS_CPIO=y diff --git a/hack/jenkins/minikube_cross_build_and_upload.sh b/hack/jenkins/minikube_cross_build_and_upload.sh index 382adacea7..1404fd2d02 100755 --- a/hack/jenkins/minikube_cross_build_and_upload.sh +++ b/hack/jenkins/minikube_cross_build_and_upload.sh @@ -36,10 +36,17 @@ declare -rx ISO_BUCKET="${bucket}/${ghprbPullId}" declare -rx ISO_VERSION="testing" declare -rx TAG="${ghprbActualCommit}" +declare -rx DEB_VER="$(make deb_version)" docker kill $(docker ps -q) || true docker rm $(docker ps -aq) || true -make -j 16 all && failed=$? || failed=$? +make -j 16 \ + all \ + minikube-darwin-arm64 \ + out/minikube_${DEB_VER}_amd64.deb \ + out/minikube_${DEB_VER}_arm64.deb \ + out/docker-machine-driver-kvm2_$(make deb_version_base).deb \ +&& failed=$? || failed=$? "out/minikube-$(go env GOOS)-$(go env GOARCH)" version diff --git a/hack/jenkins/release_build_and_upload.sh b/hack/jenkins/release_build_and_upload.sh index c2f15d9645..e743d8c0cd 100755 --- a/hack/jenkins/release_build_and_upload.sh +++ b/hack/jenkins/release_build_and_upload.sh @@ -46,6 +46,7 @@ make verify-iso env BUILD_IN_DOCKER=y \ make -j 16 \ all \ + out/minikube-darwin-arm64 \ out/minikube-installer.exe \ "out/minikube_${DEB_VERSION}-0_amd64.deb" \ "out/minikube_${DEB_VERSION}-0_arm64.deb" \