summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfisherxu <xufei40@huawei.com>2022-01-13 19:28:55 +0800
committerfisherxu <xufei40@huawei.com>2022-01-17 18:13:24 +0800
commit97a52cdb3070b9f02a74bc0992c543923af0dda0 (patch)
tree23fecd7d1706d81d7ee80d3fab82ff6d91d72c26
parentMerge pull request #3467 from gy95/release (diff)
downloadkubeedge-97a52cdb3070b9f02a74bc0992c543923af0dda0.tar.gz
verify go version when call build.sh script
Signed-off-by: fisherxu <xufei40@huawei.com>
-rw-r--r--.github/workflows/main.yaml4
-rw-r--r--Makefile12
-rwxr-xr-xhack/lib/golang.sh23
-rwxr-xr-xhack/lib/install.sh19
-rwxr-xr-xhack/local-up-kubeedge.sh3
-rwxr-xr-xhack/make-rules/build.sh1
-rwxr-xr-xhack/make-rules/clean.sh1
-rwxr-xr-xhack/make-rules/crossbuild.sh1
-rwxr-xr-xhack/make-rules/smallbuild.sh1
-rwxr-xr-xhack/verify-golang.sh22
10 files changed, 40 insertions, 47 deletions
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index 04dff2595..7fe6b17b3 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -73,7 +73,9 @@ jobs:
- run: make crossbuild
- - run: make crossbuild GOARM=GOARM7
+ - run: make crossbuild ARM_VERSION=GOARM7
+
+ - run: make crossbuild WHAT=cloudcore ARM_VERSION=GOARM8
basic_test:
runs-on: ubuntu-18.04
diff --git a/Makefile b/Makefile
index eb65e31a7..8cb43c5c3 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ ifeq ($(HELP),y)
all: clean
@echo "$$ALL_HELP_INFO"
else
-all: verify-golang
+all: clean
KUBEEDGE_OUTPUT_SUBPATH=$(OUT_DIR) hack/make-rules/build.sh $(WHAT)
endif
@@ -158,7 +158,7 @@ define CROSSBUILD_HELP_INFO
# WHAT: Component names to be lint check. support: $(BINARIES)
# If not specified, "everything" will be cross build.
#
-# GOARM: go arm value, now support:$(GOARM_VALUES)
+# ARM_VERSION: go arm value, now support:$(GOARM_VALUES)
# If not specified, build binary for ARMv8 by default.
#
#
@@ -166,7 +166,7 @@ define CROSSBUILD_HELP_INFO
# make crossbuild
# make crossbuild HELP=y
# make crossbuild WHAT=edgecore
-# make crossbuild WHAT=edgecore GOARM=GOARM7
+# make crossbuild WHAT=edgecore ARM_VERSION=GOARM7
#
endef
.PHONY: crossbuild
@@ -174,8 +174,8 @@ ifeq ($(HELP),y)
crossbuild:
@echo "$$CROSSBUILD_HELP_INFO"
else
-crossbuild: clean
- hack/make-rules/crossbuild.sh $(WHAT) $(GOARM)
+crossbuild:
+ hack/make-rules/crossbuild.sh $(WHAT) $(ARM_VERSION)
endif
CRD_VERSIONS=v1
@@ -227,7 +227,7 @@ ifeq ($(HELP),y)
smallbuild:
@echo "$$SMALLBUILD_HELP_INFO"
else
-smallbuild: clean
+smallbuild:
hack/make-rules/smallbuild.sh $(WHAT)
endif
diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh
index 27eb89a51..eaee5d42b 100755
--- a/hack/lib/golang.sh
+++ b/hack/lib/golang.sh
@@ -26,6 +26,27 @@ set -o pipefail
YES="y"
NO="n"
+kubeedge::golang::verify_golang_version() {
+ echo "go detail version: $(go version)"
+
+ goversion=$(go version |awk -F ' ' '{printf $3}' |sed 's/go//g')
+
+ echo "go version: $goversion"
+
+ X=$(echo $goversion|awk -F '.' '{printf $1}')
+ Y=$(echo $goversion|awk -F '.' '{printf $2}')
+
+ if [ $X -lt 1 ] ; then
+ echo "go major version must >= 1, now is $X"
+ exit 1
+ fi
+
+ if [ $Y -lt 16 ] ; then
+ echo "go minor version must >= 16, now is $Y"
+ exit 1
+ fi
+}
+
kubeedge::version::get_version_info() {
GIT_COMMIT=$(git rev-parse "HEAD^{commit}" 2>/dev/null)
@@ -269,7 +290,7 @@ kubeedge::golang::cross_build_place_binaries() {
mkdir -p ${KUBEEDGE_OUTPUT_BINPATH}
for bin in ${binaries[@]}; do
- echo "cross buildding $bin GOARM${goarm}"
+ echo "cross building $bin GOARM${goarm}"
local name="${bin##*/}"
if [ "${goarm}" == "8" ]; then
set -x
diff --git a/hack/lib/install.sh b/hack/lib/install.sh
index 1861f887e..81baa4238 100755
--- a/hack/lib/install.sh
+++ b/hack/lib/install.sh
@@ -77,25 +77,6 @@ function install_golangci-lint {
export PATH=$PATH:$GOPATH/bin
}
-verify_go_version(){
- if [[ -z "$(command -v go)" ]]; then
- echo "Can't find 'go' in PATH, please fix and retry.
-See http://golang.org/doc/install for installation instructions."
- exit 1
- fi
-
- local go_version
- IFS=" " read -ra go_version <<< "$(go version)"
- local minimum_go_version
- minimum_go_version=go1.12.1
- if [[ "${minimum_go_version}" != $(echo -e "${minimum_go_version}\n${go_version[2]}" | sort -s -t. -k 1,1 -k 2,2n -k 3,3n | head -n1) && "${go_version[2]}" != "devel" ]]; then
- echo "Detected go version: ${go_version[*]}.
-Kubernetes requires ${minimum_go_version} or greater.
-Please install ${minimum_go_version} or later."
- exit 1
- fi
-}
-
verify_docker_installed(){
# verify the docker installed
command -v docker >/dev/null || {
diff --git a/hack/local-up-kubeedge.sh b/hack/local-up-kubeedge.sh
index dad6048e3..dd93d6da7 100755
--- a/hack/local-up-kubeedge.sh
+++ b/hack/local-up-kubeedge.sh
@@ -26,9 +26,9 @@ fi
export CLUSTER_CONTEXT="--name ${CLUSTER_NAME}"
function check_prerequisites {
+ kubeedge::golang::verify_golang_version
check_kubectl
check_kind
- verify_go_version
verify_docker_installed
}
@@ -191,6 +191,7 @@ function generate_streamserver_cert {
cleanup
+source "${KUBEEDGE_ROOT}/hack/lib/golang.sh"
source "${KUBEEDGE_ROOT}/hack/lib/install.sh"
check_prerequisites
diff --git a/hack/make-rules/build.sh b/hack/make-rules/build.sh
index cc230c07e..5c4ef5239 100755
--- a/hack/make-rules/build.sh
+++ b/hack/make-rules/build.sh
@@ -23,4 +23,5 @@ set -o pipefail
KUBEEDGE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd -P)"
source "${KUBEEDGE_ROOT}/hack/lib/init.sh"
+kubeedge::golang::verify_golang_version
kubeedge::golang::build_binaries "$@"
diff --git a/hack/make-rules/clean.sh b/hack/make-rules/clean.sh
index 525c975bd..3f0df01a9 100755
--- a/hack/make-rules/clean.sh
+++ b/hack/make-rules/clean.sh
@@ -33,5 +33,6 @@ kubeedge::clean::bin(){
rm -rf $KUBEEDGE_OUTPUT_BINPATH/*
}
+kubeedge::golang::verify_golang_version
kubeedge::clean::cache
kubeedge::clean::bin
diff --git a/hack/make-rules/crossbuild.sh b/hack/make-rules/crossbuild.sh
index 06cedde07..9b3dd6a15 100755
--- a/hack/make-rules/crossbuild.sh
+++ b/hack/make-rules/crossbuild.sh
@@ -23,4 +23,5 @@ set -o pipefail
KUBEEDGE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd -P)"
source "${KUBEEDGE_ROOT}/hack/lib/init.sh"
+kubeedge::golang::verify_golang_version
kubeedge::golang::cross_build_place_binaries "$@"
diff --git a/hack/make-rules/smallbuild.sh b/hack/make-rules/smallbuild.sh
index ae3e81442..542229046 100755
--- a/hack/make-rules/smallbuild.sh
+++ b/hack/make-rules/smallbuild.sh
@@ -23,4 +23,5 @@ set -o pipefail
KUBEEDGE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd -P)"
source "${KUBEEDGE_ROOT}/hack/lib/init.sh"
+kubeedge::golang::verify_golang_version
kubeedge::golang::small_build_place_binaries "$@"
diff --git a/hack/verify-golang.sh b/hack/verify-golang.sh
index 70b6cea3f..4be7d92a3 100755
--- a/hack/verify-golang.sh
+++ b/hack/verify-golang.sh
@@ -20,24 +20,8 @@ set -o errexit
set -o nounset
set -o pipefail
-# The root of the build/dist directory
-KUBEEDGE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)"
+KUBEEDGE_ROOT=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/..
-echo "go detail version: $(go version)"
+source "${KUBEEDGE_ROOT}/hack/lib/golang.sh"
-goversion=$(go version |awk -F ' ' '{printf $3}' |sed 's/go//g')
-
-echo "go version: $goversion"
-
-X=$(echo $goversion|awk -F '.' '{printf $1}')
-Y=$(echo $goversion|awk -F '.' '{printf $2}')
-
-if [ $X -lt 1 ] ; then
- echo "go major version must >= 1, now is $X"
- exit 1
-fi
-
-if [ $Y -lt 16 ] ; then
- echo "go minor version must >= 16, now is $Y"
- exit 1
-fi
+kubeedge::golang::verify_golang_version