language: go sudo: required dist: trusty services: - docker go: - 1.12 before_install: - | if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.md)|(\.png)|(\.pdf)|(\.html)|^(LICENSE)|^(docs)' then echo "Only doc files were updated, skip running the CI." travis_terminate 0 fi 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.20.0 - mkdir -p $HOME/gopath/src/github.com/kubeedge/kubeedge - sudo apt-get install build-essential -y - sudo apt-get install gcc-arm-linux-gnueabi -y - sudo apt-get install upx-ucl -y - sudo apt-get install rsync -y - rsync -az ${TRAVIS_BUILD_DIR}/ $HOME/gopath/src/github.com/kubeedge/kubeedge/ - export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/kubeedge/kubeedgee - go get github.com/onsi/ginkgo/ginkgo - export GO111MODULE=on - export GOFLAGS=-mod=vendor - cd $HOME/gopath/src/github.com/kubeedge/kubeedge install: true jobs: include: - stage: "Verify vendor" script: make verify name: "check if the vendor is up to date" - stage: "Test lint" script: make cloud_lint name: "cloud_lint" - script: make bluetoothdevice_lint name: "bluetooth_device_lint" - script: make keadm_lint name: "keadm_lint" - script: make edge_lint name: "edge_lint" - stage: "Test Build on amd64" script: make arch: amd64 name: "builds cloud and edge components" - script: make bluetoothdevice arch: amd64 name: "build bluetooth_device" - script: make edge_small_build arch: amd64 name: "build small edge version" - script: make edge_cross_build name: "cross build edge" - script: make edge_cross_build_v7 name: "cross build edge for armv7" - script: make edgesite_cross_build name: "cross build edgesite" - script: make edgesite_cross_build_v7 name: "cross build edgeite for armv7" - stage: "Test Build on arm64" script: make arch: arm64 name: "builds cloud and edge components" - script: make bluetoothdevice arch: arm64 name: "build bluetooth_device" - script: make edge_small_build arch: arm64 name: "build small edge version" - stage: "unit tests on amd64" script: make edge_test arch: amd64 name: "unit test edge" - script: make edge_integration_test arch: amd64 name: "integration test edge" - script: make cloud_test arch: amd64 name: "unit test cloud" - stage: "unit tests on arm64" script: make cloud_test arch: arm64 name: "unit test cloud" - stage: "e2e tests on amd64" script: make e2e_test arch: amd64 name: "e2e_test" - stage: "build docker images on amd64" script: make cloudimage arch: amd64 name: "build cloudimage" - script: make admissionimage arch: amd64 name: "build admission image" - script: make edgeimage ARCH="amd64" arch: amd64 name: "build edge image" - script: make edgesiteimage ARCH="amd64" arch: amd64 name: "build edgesite image" - script: make bluetoothdevice_image arch: amd64 name: "build bluetoothdevice image" - stage: "build docker images on arm64" script: make cloudimage arch: arm64 name: "build cloudimage" - script: make admissionimage arch: arm64 name: "build admission image" - script: make edgeimage ARCH="arm64v8" arch: arm64 name: "build edge image" - script: make edgesiteimage ARCH="arm64v8" arch: arm64 name: "build edgesite image" - script: make bluetoothdevice_image arch: arm64 name: "build bluetoothdevice image"