summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang Dai <long0dai@foxmail.com>2020-11-17 09:57:20 +0800
committerXiang Dai <long0dai@foxmail.com>2020-11-18 16:32:22 +0800
commit2aebd72d7a20256a733c47341eb8863a3982aff3 (patch)
tree54788490c28e73672af94574aba7943f80b1dfd5
parentMerge pull request #2335 from lvchenggang/reorganize_constants (diff)
downloadkubeedge-2aebd72d7a20256a733c47341eb8863a3982aff3.tar.gz
CI: switch amd64 tests to Github Action
Signed-off-by: Xiang Dai <long0dai@foxmail.com>
-rw-r--r--.github/workflows/main.yaml188
-rw-r--r--.travis.yml111
-rw-r--r--Makefile14
-rwxr-xr-x[-rw-r--r--]edge/hack/clean.sh0
-rwxr-xr-x[-rw-r--r--]edge/hack/install_docker_for_raspbian.sh0
-rwxr-xr-x[-rw-r--r--]edge/hack/setup_for_IEF.sh0
-rwxr-xr-x[-rw-r--r--]hack/lib/golang.sh0
-rwxr-xr-x[-rw-r--r--]hack/lib/init.sh0
-rwxr-xr-x[-rw-r--r--]hack/lib/install.sh0
-rwxr-xr-x[-rw-r--r--]hack/lib/lint.sh0
-rwxr-xr-x[-rw-r--r--]hack/lib/mapper.sh0
-rwxr-xr-x[-rw-r--r--]hack/lib/util.sh0
-rwxr-xr-x[-rw-r--r--]hack/setup-vmruntime.sh0
-rwxr-xr-x[-rw-r--r--]mappers/modbus_mapper/scripts/start_modbusmapper.sh0
-rwxr-xr-x[-rw-r--r--]tests/e2e/scripts/bluetoothconfig.sh0
15 files changed, 197 insertions, 116 deletions
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
new file mode 100644
index 000000000..7e18cee3c
--- /dev/null
+++ b/.github/workflows/main.yaml
@@ -0,0 +1,188 @@
+name: Main CI WorkFlow
+
+on:
+ push:
+ branches:
+ - master
+ tags:
+ pull_request:
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ name: Verify vendor, licenses, do lint
+ steps:
+ - name: Install Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.14.x
+
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v2
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+
+ - name: Install dependences
+ run: |
+ sudo apt-get install -y jq
+ curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | BINARY=golangci-lint sh -s -- -d -b $(go env GOPATH)/bin v1.23.7
+
+ - name: Run verify test
+ run: make verify
+
+ - name: Run lint test
+ run: make lint
+ build:
+ runs-on: ubuntu-latest
+ name: Multiple build
+ steps:
+ - name: Install Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.14.x
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+
+ - name: Install dependences
+ run: sudo apt-get install -y upx-ucl gcc-aarch64-linux-gnu libc6-dev-arm64-cross gcc-arm-linux-gnueabi libc6-dev-armel-cross
+
+ - name: Checkout code into the Go module directory
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - run: make
+
+ - run: make bluetoothdevice
+
+ - run: make smallbuild
+
+ - run: make crossbuild
+
+ - run: make crossbuild GOARM=GOARM7
+
+ basic_test:
+ runs-on: ubuntu-latest
+ name: Unit test, integration test edge
+ env:
+ GO111MODULE: on
+ steps:
+ - name: Install Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.14.x
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+
+ - name: Install dependences
+ run: |
+ command -v ginkgo || go get github.com/onsi/ginkgo/ginkgo
+
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - run: make test
+
+ - run: make integrationtest
+
+ e2e_test:
+ runs-on: ubuntu-latest
+ name: E2e test
+ env:
+ GO111MODULE: on
+ steps:
+ - name: Install Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.14.x
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+
+ - name: Install dependences
+ run: |
+ command -v ginkgo || go get github.com/onsi/ginkgo/ginkgo
+ command -v kind || go get sigs.k8s.io/kind@v0.9.0
+ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.3/bin/linux/amd64/kubectl && sudo install kubectl /usr/local/bin/kubectl
+
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - run: make e2e
+
+ keadm_e2e_test:
+ runs-on: ubuntu-latest
+ name: Keadm e2e test
+ env:
+ GO111MODULE: on
+ steps:
+ - name: Install Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.14.x
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+
+ - name: Install dependences
+ run: |
+ command -v ginkgo || go get github.com/onsi/ginkgo/ginkgo
+ command -v kind || go get sigs.k8s.io/kind@v0.9.0
+ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.3/bin/linux/amd64/kubectl && sudo install kubectl /usr/local/bin/kubectl
+ export RELEASE_VERSION=$(wget -qO - https://kubeedge.io/latestversion | cat)
+ sudo wget -qP /etc/kubeedge https://github.com/kubeedge/kubeedge/releases/download/${RELEASE_VERSION}/checksum_kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz.txt
+ sudo wget -qP /etc/kubeedge https://github.com/kubeedge/kubeedge/releases/download/${RELEASE_VERSION}/kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz
+ echo "$(cat /etc/kubeedge/checksum_kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz.txt) /etc/kubeedge/kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz" | sha512sum -c
+
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - run: make keadm_e2e
+
+ docker_build:
+ runs-on: ubuntu-latest
+ name: Multiple docker image build
+ steps:
+ - name: Install Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.14.x
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - run: make cloudimage
+
+ - run: make admissionimage
+
+ - run: make edgeimage ARCH="amd64"
+
+ - run: make edgesiteimage ARCH="amd64"
+
+ - run: make bluetoothdevice_image
diff --git a/.travis.yml b/.travis.yml
index 2baf4cd71..6acf0de9c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -33,82 +33,6 @@ install: skip
jobs:
include:
- - stage: "Verify vendor, licenses, do lint"
- name: "Verify vendor, licenses, do lint"
- before_script:
- - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | BINARY=golangci-lint sh -s -- -d -b $(go env GOPATH)/bin v1.23.7
- - export GO111MODULE=on
- - export GOFLAGS=-mod=mod
- - sudo apt-get install jq -y
- script:
- - make verify
- - make lint
-
- - stage: "Test on amd64"
- name: "build, smallbuild, crossbuild"
- arch: amd64
- before_script:
- - sudo apt-get install upx-ucl -y
- - sudo apt-get install gcc-aarch64-linux-gnu -y
- - sudo apt-get install libc6-dev-arm64-cross -y
- - sudo apt-get install gcc-arm-linux-gnueabi -y
- - sudo apt-get install libc6-dev-armel-cross -y
- - export GOFLAGS=-mod=vendor
- script:
- - make
- - make bluetoothdevice
- - make smallbuild
- - make crossbuild
- - make crossbuild GOARM=GOARM7
- - name: "unit test, integration test edge"
- arch: amd64
- before_script:
- - go get github.com/onsi/ginkgo/ginkgo
- - export GOFLAGS=-mod=mod
- script:
- - make test
- - make integrationtest
- - name: "e2e test"
- arch: amd64
- before_script:
- - go get github.com/onsi/ginkgo/ginkgo
- - go get sigs.k8s.io/kind@v0.9.0
- - go mod vendor
- - export GOFLAGS=-mod=vendor
- - sudo apt-get update && sudo apt-get install -y apt-transport-https
- - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
- - sudo apt-get update
- - sudo apt-get install -y kubectl
- script:
- - travis_retry make e2e
- - name: "keadm e2e test"
- arch: amd64
- before_script:
- - go get github.com/onsi/ginkgo/ginkgo
- - go get sigs.k8s.io/kind@v0.7.0
- - go mod vendor
- - export GOFLAGS=-mod=vendor
- - sudo apt-get update && sudo apt-get install -y apt-transport-https
- - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
- - sudo apt-get update
- - sudo apt-get install -y kubectl
- - export RELEASE_VERSION=$(wget -qO - https://kubeedge.io/latestversion | cat)
- - travis_retry sudo wget -qP /etc/kubeedge https://github.com/kubeedge/kubeedge/releases/download/${RELEASE_VERSION}/checksum_kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz.txt
- - travis_retry sudo wget -qP /etc/kubeedge https://github.com/kubeedge/kubeedge/releases/download/${RELEASE_VERSION}/kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz
- - echo "$(cat /etc/kubeedge/checksum_kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz.txt) /etc/kubeedge/kubeedge-${RELEASE_VERSION}-linux-amd64.tar.gz" | sha512sum -c || exit 1
- script:
- - make keadm_e2e
- - name: "build docker images on amd64"
- arch: amd64
- script:
- - make cloudimage
- - make admissionimage
- - make edgeimage ARCH="amd64"
- - make edgesiteimage ARCH="amd64"
- - make bluetoothdevice_image
-
- stage: "Test on arm64"
name: "build, smallbuild"
arch: arm64
@@ -120,44 +44,11 @@ jobs:
- make bluetoothdevice
- make smallbuild
- name: "unit test, integration test edge"
- arch: arm64-graviton2
- virt: vm
+ arch: arm64
before_script:
- - go get github.com/onsi/ginkgo/ginkgo
- export GOFLAGS=-mod=mod
script:
- make test
- - make integrationtest
- - name: "e2e test"
- arch: arm64-graviton2
- virt: vm
- before_script:
- - go get github.com/onsi/ginkgo/ginkgo
- - go get sigs.k8s.io/kind@v0.7.0
- - go mod vendor
- - export GOFLAGS=-mod=vendor
- - sudo apt-get update && sudo apt-get install -y apt-transport-https
- - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
- - sudo apt-get update
- - sudo apt-get install -y kubectl
- script:
- - travis_retry make e2e
- - name: "keadm e2e test"
- arch: arm64-graviton2
- virt: vm
- before_script:
- - go get github.com/onsi/ginkgo/ginkgo
- - go get sigs.k8s.io/kind@v0.7.0
- - go mod vendor
- - export GOFLAGS=-mod=vendor
- - sudo apt-get update && sudo apt-get install -y apt-transport-https
- - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
- - sudo apt-get update
- - sudo apt-get install -y kubectl
- script:
- - travis_retry make keadm_e2e
- name: "build docker images on arm64"
arch: arm64
script:
diff --git a/Makefile b/Makefile
index 48c5c812a..94a602650 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,8 @@ DESTDIR?=
USR_DIR?=/usr/local
INSTALL_DIR?=${DESTDIR}${USR_DIR}
INSTALL_BIN_DIR?=${INSTALL_DIR}/bin
+GOPATH?=$(shell go env GOPATH)
+
# make all builds both cloud and edge binaries
BINARIES=cloudcore \
@@ -62,17 +64,17 @@ endif
.PHONY: verify-golang
verify-golang:
- bash hack/verify-golang.sh
+ hack/verify-golang.sh
.PHONY: verify-vendor
verify-vendor:
- bash hack/verify-vendor.sh
+ hack/verify-vendor.sh
.PHONY: verify-codegen
verify-codegen:
- bash cloud/hack/verify-codegen.sh
+ cloud/hack/verify-codegen.sh
.PHONY: verify-vendor-licenses
verify-vendor-licenses:
- bash hack/verify-vendor-licenses.sh
+ hack/verify-vendor-licenses.sh
define TEST_HELP_INFO
# run golang test case.
@@ -212,7 +214,7 @@ else
e2e:
# bash tests/e2e/scripts/execute.sh device_crd
# This has been commented temporarily since there is an issue of CI using same master for all PRs, which is causing failures when run parallelly
- bash tests/e2e/scripts/execute.sh
+ tests/e2e/scripts/execute.sh
endif
define KEADM_E2E_HELP_INFO
@@ -229,7 +231,7 @@ keadm_e2e:
@echo "KEADM_E2E_HELP_INFO"
else
keadm_e2e:
- bash tests/e2e/scripts/keadm_e2e.sh
+ tests/e2e/scripts/keadm_e2e.sh
endif
define CLEAN_HELP_INFO
diff --git a/edge/hack/clean.sh b/edge/hack/clean.sh
index 03acfc9c0..03acfc9c0 100644..100755
--- a/edge/hack/clean.sh
+++ b/edge/hack/clean.sh
diff --git a/edge/hack/install_docker_for_raspbian.sh b/edge/hack/install_docker_for_raspbian.sh
index 43b91a3b8..43b91a3b8 100644..100755
--- a/edge/hack/install_docker_for_raspbian.sh
+++ b/edge/hack/install_docker_for_raspbian.sh
diff --git a/edge/hack/setup_for_IEF.sh b/edge/hack/setup_for_IEF.sh
index b2657530e..b2657530e 100644..100755
--- a/edge/hack/setup_for_IEF.sh
+++ b/edge/hack/setup_for_IEF.sh
diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh
index 9bba8e1e3..9bba8e1e3 100644..100755
--- a/hack/lib/golang.sh
+++ b/hack/lib/golang.sh
diff --git a/hack/lib/init.sh b/hack/lib/init.sh
index c4eb2f3ee..c4eb2f3ee 100644..100755
--- a/hack/lib/init.sh
+++ b/hack/lib/init.sh
diff --git a/hack/lib/install.sh b/hack/lib/install.sh
index 28bf1f6f2..28bf1f6f2 100644..100755
--- a/hack/lib/install.sh
+++ b/hack/lib/install.sh
diff --git a/hack/lib/lint.sh b/hack/lib/lint.sh
index 90e05cdb7..90e05cdb7 100644..100755
--- a/hack/lib/lint.sh
+++ b/hack/lib/lint.sh
diff --git a/hack/lib/mapper.sh b/hack/lib/mapper.sh
index 23777e7e4..23777e7e4 100644..100755
--- a/hack/lib/mapper.sh
+++ b/hack/lib/mapper.sh
diff --git a/hack/lib/util.sh b/hack/lib/util.sh
index 3d73ab47d..3d73ab47d 100644..100755
--- a/hack/lib/util.sh
+++ b/hack/lib/util.sh
diff --git a/hack/setup-vmruntime.sh b/hack/setup-vmruntime.sh
index 939af1faf..939af1faf 100644..100755
--- a/hack/setup-vmruntime.sh
+++ b/hack/setup-vmruntime.sh
diff --git a/mappers/modbus_mapper/scripts/start_modbusmapper.sh b/mappers/modbus_mapper/scripts/start_modbusmapper.sh
index 80c0dd1b1..80c0dd1b1 100644..100755
--- a/mappers/modbus_mapper/scripts/start_modbusmapper.sh
+++ b/mappers/modbus_mapper/scripts/start_modbusmapper.sh
diff --git a/tests/e2e/scripts/bluetoothconfig.sh b/tests/e2e/scripts/bluetoothconfig.sh
index 6bb8fc2a9..6bb8fc2a9 100644..100755
--- a/tests/e2e/scripts/bluetoothconfig.sh
+++ b/tests/e2e/scripts/bluetoothconfig.sh