fabmation-gmbh/helm-whatup

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
language: go
sudo: required
env:
  global:
    - CHANGE_MINIKUBE_NONE_USER=true
    - MINIKUBE_WANTUPDATENOTIFICATION=false
    - MINIKUBE_WANTREPORTERRORPROMPT=false
    - MINIKUBE_HOME=$HOME
    - CHANGE_MINIKUBE_NONE_USER=true
    - KUBECONFIG=$HOME/.kube/config
    - HELM_HOME=$HOME/.helm
    - HELM_PATH_REPOSITORY_FILE=$HELM_HOME/repository/repositories.yaml

cache:
  directories:
    - $HOME/.cache/go-build
    - $GOPATH/pkg/mod
    - $HOME/.minikube/cache
    - $HOME/.helm/cache
    - $HOME/docker

before_cache:
  # Save tagged docker images
  - >
    mkdir -p $HOME/docker && docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}'
    | xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz'

before_install:
  # Load cached docker images
  - if [[ -d $HOME/docker ]]; then ls $HOME/docker/*.tar.gz | xargs -I {file} sh -c "zcat {file} | docker load"; fi

go:
  - 1.13.x

install: true

before_script:
  # Download kubectl, which is a requirement for using minikube.
  - curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
  # Download minikube.
  - curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.2.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
  - mkdir -p $HOME/.kube $HOME/.minikube $HOME/.helm
  - touch $KUBECONFIG
  - sudo minikube start --vm-driver=none --kubernetes-version=v1.15.0
  - "sudo chown -R travis: /home/travis/.minikube/"
  # Install Helm
  - curl -L https://git.io/get_helm.sh | bash
  - helm init
  - sudo apt-get install -y socat
  - curl https://glide.sh/get | sh
  - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
  - chmod +x ./cc-test-reporter
  - ./cc-test-reporter before-build

script:
  - kubectl --namespace kube-system expose deployment tiller-deploy --type=NodePort --name=tiller-external
  - kubectl --namespace kube-system get svc tiller-external
  - minikube service --url --format "{{.IP}}:{{.Port}}" --namespace=kube-system tiller-external | head -n1
  - export HELM_HOST=$(minikube service --url --format "{{.IP}}:{{.Port}}" --namespace=kube-system tiller-external | head -n1)
  - export TILLER_HOST=$(minikube service --url --format "{{.IP}}:{{.Port}}" --namespace=kube-system tiller-external | head -n1)
  - helm repo update
  - go get -u github.com/dave/courtney
  - go get -t -v ./...
  - make bootstrap build helmrel cov
  # run Additionally/ External Coverage/ Unit Tests
  - ./.dev/test_cli.sh

after_script:
  - cat ${HOME}/.helm/plugins/helm-tiller/logs/*
  - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT