Currently, only one CI build can be started at the same time due to we only have only one testing cluster. This PR aims to enable multiple concurrent builds can be triggered to reduce the waiting time for CI builds. The major changes listed below: 1. Each build generate unique images for testing and debugging 2. Check whether the testing cluster is being used by another build. 3. Cache docker image & go mod after build finished 4. Improve dockerfiles for reusing docker build cache
65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
sudo: required
|
|
|
|
dist: trusty
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
language: go
|
|
|
|
go:
|
|
- 1.11.6
|
|
|
|
env:
|
|
- KUBECONFIG=${HOME}/.kube/config PATH=$HOME/k8scli:$HOME/tool:$HOME/google-cloud-sdk/bin:${PATH} GO111MODULE=on DOCKER_CACHE_DIR=${HOME}/docker/
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/google-cloud-sdk/
|
|
- $HOME/k8scli
|
|
- $HOME/tool
|
|
- $HOME/docker
|
|
- $HOME/.cache/go-build
|
|
- $HOME/gopath/pkg/mod
|
|
|
|
services:
|
|
- docker
|
|
|
|
before_install:
|
|
- sudo apt-get update
|
|
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
|
- sudo apt-get -y install apache2-utils parallel realpath
|
|
- sudo sysctl net.ipv6.conf.all.disable_ipv6=0
|
|
|
|
install:
|
|
- hack/travis-kube-setup.sh
|
|
|
|
before_script:
|
|
- cd ${TRAVIS_BUILD_DIR}
|
|
- go mod download
|
|
- hack/verify-staticcheck.sh
|
|
- hack/verify-gofmt.sh
|
|
- hack/verify-govet.sh
|
|
- helm lint charts/fission-all/ charts/fission-core/
|
|
- hack/runtests.sh
|
|
- test/build.sh
|
|
|
|
script:
|
|
- cd ${TRAVIS_BUILD_DIR}
|
|
- test/test.sh
|
|
- test/upgrade/fission_upgrade_test.sh
|
|
|
|
before_cache:
|
|
- test/save_cache.sh # save docker cache
|
|
|
|
after_script:
|
|
- kubectl --namespace default delete configmap -l travisID=${TRAVIS_BUILD_ID} # remove in-test configmap to indicate this CI build finished
|
|
|
|
notifications:
|
|
slack:
|
|
rooms:
|
|
secure: YZ34vsfw1TtftJypg1MyP4+ihONI4gaxeS3FghBQli6+EezjzcxOXyj5VD+x0ucXfDeTaDrFfmVN0SAGObOoZUE+ea9KAoTo50tRLaD9kwOTACiekZalC4uuBguH0D1/A6vlbU8dchsr9mvIhbisG6mTncdPtqGYYHtyBQme6ngmmHbVAQFZcIBHmNuDb/HWhSr8KMEuyB6+mBXLYELHnXnf26cOhdGNaagqCOJTiemX85RGwIuOPxyBhKDFMLyHohDT7FJMH/qijveE6YgOYTQC5nYc2Np1KvC7hQkIu4nuyczyYlrNQl/TWv+SVI8PjIs0PYuCuD3gUqoVEi8d94HbrOPzFEpbwDS9P4qL39DGmco1Q56Vqxe6sRI0vDWPb5gCP1lSgs3PMECVn7Wor/pTvcL+C+U2jLwWJUl0vbyWCL7ngl/3iTssV7qBpUrI7Oclwp8LrQo9fPj0DL4gE9rNanpEWjQ6yPGaysIL1zLHtRghhm52A22NJGp71jkS2KEpLi6ZWFYjMeuXw5eOQFhqFlzyRJOmLYa3B607TLWuyo2L2CxAfMmq0FGfemvrkLZIWtlQKK4y9ImpsURwaGT2XCtThFtHl77wEss913nC+T2dX3O5Bl0UmxFd5S3mVM109I8c4lDosxnAjRfS9MheFlrG0gjSJSBCw57x7f0=
|
|
on_success: change
|
|
on_failure: always
|