language: go
go:
  - "1.13"

cache:
  directories:
    - $HOME/.cache/go-build
    - $GOPATH/pkg/mod
  
# safelist
branches: 
  only:
    - master
before_install:
 - |
   if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(.md)|^(LICENSE)'
   then
     echo "Not running CI since only docs were changed."
     exit
   fi
   
install: go get ./...

script:
# build initContainer
  - make initContainer || travis_terminate 1;
# build kyverno container
  - make kyverno || travis_terminate 1;
# tests
  - make test-all || travis_terminate 1;

after_script:
  - curl -d "repo=https://github.com/nirmata/kyverno" https://goreportcard.com/checks

# only push images if the branch is master
after_success:
 - |
   if [ $TRAVIS_PULL_REQUEST == 'false' ]
   then
    docker login -u $DOCKER_USER -p $DOCKER_PASSWORD || travis_terminate 1
    
    echo "pushing Kyverno image"
    make docker-publish-initContainer || travis_terminate 1

    echo "pushing Kyverno init container image"
    make docker-publish-kyverno || travis_terminate 1
   fi
