diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2020-12-04 15:09:37 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-04 15:09:37 +0800 |
| commit | 6d762b0b5c81a7434f8057fe7ca714cf5e426d79 (patch) | |
| tree | 5e0a49cdd1b74ed28af34577754a03f7d5d370a8 | |
| parent | Merge pull request #2394 from threestoneliu/automated-cherry-pick-of-#2387-up... (diff) | |
| parent | Sync latest config (diff) | |
| download | kubeedge-6d762b0b5c81a7434f8057fe7ca714cf5e426d79.tar.gz | |
Merge pull request #2377 from daixiang0/automated-cherry-pick-of-#2334-upstream-release-1.5
Automated cherry pick of #2334: CI: switch amd64 tests to Github Action
| -rw-r--r-- | .github/workflows/main.yaml | 195 | ||||
| -rw-r--r-- | .travis.yml | 111 | ||||
| -rw-r--r-- | Makefile | 14 | ||||
| -rwxr-xr-x[-rw-r--r--] | edge/hack/clean.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | edge/hack/install_docker_for_raspbian.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | edge/hack/setup_for_IEF.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | hack/lib/golang.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | hack/lib/init.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | hack/lib/install.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | hack/lib/lint.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | hack/lib/mapper.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | hack/lib/util.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | hack/setup-vmruntime.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | mappers/modbus_mapper/scripts/start_modbusmapper.sh | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | tests/e2e/scripts/bluetoothconfig.sh | 0 |
15 files changed, 204 insertions, 116 deletions
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 000000000..da97c5643 --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,195 @@ +name: Main CI WorkFlow + +on: + push: + branches: + - master + tags: + pull_request: + +jobs: + lint: + runs-on: ubuntu-latest + name: Verify vendor, licenses, do lint + env: + GOPATH: /home/runner/work/${{ github.repository }} + steps: + - name: Install Go + uses: actions/setup-go@v2 + with: + go-version: 1.14.x + + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + path: ./src/github.com/${{ github.repository }} + + - 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.30.0 + + - name: Run verify test + run: make verify + working-directory: ./src/github.com/${{ github.repository }} + + - name: Run lint test + run: make lint + working-directory: ./src/github.com/${{ github.repository }} + 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 + 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: Checkout code + 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: Checkout code + 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: Checkout code + 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: Checkout code + 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: @@ -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 |
