diff options
| author | fisherxu <xufei40@huawei.com> | 2022-01-13 19:28:55 +0800 |
|---|---|---|
| committer | fisherxu <xufei40@huawei.com> | 2022-01-17 18:13:24 +0800 |
| commit | 97a52cdb3070b9f02a74bc0992c543923af0dda0 (patch) | |
| tree | 23fecd7d1706d81d7ee80d3fab82ff6d91d72c26 | |
| parent | Merge pull request #3467 from gy95/release (diff) | |
| download | kubeedge-97a52cdb3070b9f02a74bc0992c543923af0dda0.tar.gz | |
verify go version when call build.sh script
Signed-off-by: fisherxu <xufei40@huawei.com>
| -rw-r--r-- | .github/workflows/main.yaml | 4 | ||||
| -rw-r--r-- | Makefile | 12 | ||||
| -rwxr-xr-x | hack/lib/golang.sh | 23 | ||||
| -rwxr-xr-x | hack/lib/install.sh | 19 | ||||
| -rwxr-xr-x | hack/local-up-kubeedge.sh | 3 | ||||
| -rwxr-xr-x | hack/make-rules/build.sh | 1 | ||||
| -rwxr-xr-x | hack/make-rules/clean.sh | 1 | ||||
| -rwxr-xr-x | hack/make-rules/crossbuild.sh | 1 | ||||
| -rwxr-xr-x | hack/make-rules/smallbuild.sh | 1 | ||||
| -rwxr-xr-x | hack/verify-golang.sh | 22 |
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 @@ -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 |
