# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements; and to You under the Apache License, Version 2.0.

dist: xenial
sudo: required

env:
  global:
  - secure: d7CuMXbhT83W2x78qiLwgogX1+3aPicd1PlTwwNNDN6QSkImbxareyKThnsqlHIiNj3o5l5DBuiYjy7wrF/xD1g8BQMmTwm99DRx5q3CI3Im3VCi/ZK8SaNjuOy24d7cf5k2tB/87Gk7zmKsMDYm+fpCl+GpgUmIEeIwthiAxuXSDWZ8eQPIptmxj56DeFRNouvXG+dEUtBfWiwN27UPxNKExCixFnegmdtffLbz6hhst7BHr5Ry9acbycre98PCwWZcu9lxFs+SJ1kvnzX2iue4otmDkF1WkJjxaOFPJVs/D3YItg+neLCSxjwBskPed+Fct8bOjcM/uVROJPNIq5icBmaPX2isH0lvtxOeVw/dmioWYXYPN9ygBOe4eO/vtPllN0bcAUo5xl9jXev8ciAozYrYpHVh9Fplfd81rcYTeYzALmRJBdoiWoc3KQGzwGc9sB1ffmy+KWgG9T0zbnS4fALSR4PSzyNlKSLXw9vuvdNP0OBYtO+6yTJXavIxqmDoj64Lb93n+uGPatnaIGPTKEEBMJTSjsgYVEfxzzZuxUT9Ldkf2lzqvN2PCllGoMqxkgsdb8i4v4QgRaMWBDbKa5Va4k0O4dnhRmtdbJavOSKN6fECJbyfoJlV1VvJGxk5znVLRznBmUPBKbNccyPZJULugKD3QIh4q8Q5jBU=
  - secure: CJtnU94HTDqd4A6uvhFl8IpnmU+wTdlzb8bPBFUl/lI/VKXiRrYpgJdKUro5xEoxFKuqMprLhbyf66niyWLTIeogjUAEu/h/o2dBVeGgSGKoqC0hQgqvnxKFeGlzFJ0XuEs3vbStJGRnQszGsfnnDrscJtR0x9X+1w4aBKI7iPyyuFtVkDD1UsmBbSi+M8FTeq7G7A0reMDaey7uog3CFCpIMl4geshcohQEcKEGbnXQZoLPFpb7cBOE83VXBJ7Y7Dgf/U4keiLovvnuJThGKZm/SVV2KlELmBmtmbx3rMT6Vb5k9ChSdRWapromNnnzmJBIQ5Scc2mwV3A93/SMha1F3IlYpDKs5djfTw8jZfVnuiou7HhTaRjHkmmcwP12/k30gLe2kw0Vezg1TCY4zgtOpcmCxc8RHEy0ceA74rKvRi8LbexTCwX+iAMQFn/pSrh/OqAq/50JbLyczcoO1zXWS38txUQNLW8i+XllhCg9pjkjyfBeGjOOcWiVIz9rWJd2XufjSXDcj6xoZHtkh1XDt1CnVkpsYKtyyZucQnhUM9ebmaWqbSW2+bpqC/2hI+G+kOyyCesGdB1q+VmN1augMMs6RgWjk4yw5dyLAshATSoUlE8KH2cDcJL19r4ECaQ99PSLwxoB89yfPoJiNc42vwxRdsLmB1BMNyPa81Y=
  matrix:
    - TRAVIS_KUBE_VERSION=1.10 OW_INCLUDE_SYSTEM_TESTS=true OW_CONTAINER_FACTORY=docker
    - TRAVIS_KUBE_VERSION=1.10 OW_INCLUDE_SYSTEM_TESTS=false OW_CONTAINER_FACTORY=kubernetes
    - TRAVIS_KUBE_VERSION=1.11 OW_INCLUDE_SYSTEM_TESTS=true OW_CONTAINER_FACTORY=docker
    - TRAVIS_KUBE_VERSION=1.12 OW_INCLUDE_SYSTEM_TESTS=true OW_CONTAINER_FACTORY=docker

services:
  - docker

notifications:
  email: false
  webhooks:
    urls:
      # travis2slack webhook to enable DMs on openwhisk-team.slack.com to PR authors with TravisCI results
      secure: L6YB/Fmn0lC9z4AEw+xGsmnGdgqxwMccFLL0DLlo2jM4APyVAVAmpuQhbb+YrPmpfD0GIGLaz2stvamO9znr7l5NPxnQEdUHo1vsdSEZn2S5NMGNqZBThAD2Bwocu2bMC8AXB7AW1bFnEWlJTiuR8dsQhxZaoVrc0TwTm8fEoHggWPUDHDWVxltv4zLOBhRsRYIn5VCpr5yFZax8F0mPxfeSIdl7mEMeDO6quuBqdhWqbts4Lg3VPYZ7p1c+XyEgEQFIFo9FAnL0IjKf9epw+SAZpXdZ4IRk3GQUT67MyA2ZzzxVzWZI+3EV7Ds3q6Nvpuv/4jxb5U5Did0e8gmqbyKgNWivBLraUpgZ+7jn+Uq+JYGA5GkJ4SMmtClYWNXGG7eKDguudJKytSJKKK7aiUrO2munOlcrJJVkk//0jjtbgcKaowWHcH3Gh5x9fFq4uUFhpqpXsgi7ZPw/5GYUfCLSyKNcRs4BzCBlOx7QgnmbK1MMGqkksiirujnJekNdBG/sAXnIo8Uj9+bE8J3+8/u2NxUuFn2tPB26bQobOUMv8Y/zpIzuS26MKqVHJ9d2FrYf+bDEmvGOzoroXzJA4nJA8dCBSzeakiB9E5TtyMGCwJHYHqgKfr2I8g7RKa0JOomqYxZR2b3yrAU5aWpMQ5HlGvrxSNdFhYI7wBoX9as=

before_install:
  - ./tools/travis/setupscan.sh
  - ./tools/travis/scancode.sh
  - ./tools/travis/start-kubeadm-dind.sh

script:
  - ./tools/travis/deploy-chart.sh
  - travis_wait 20 ./tools/travis/run-tests.sh
  - ./tools/travis/collect-logs.sh
  - ./tools/travis/box-upload.py "logs" "deploy-kube-$TRAVIS_BUILD_ID-$TRAVIS_BRANCH-$TRAVIS_JOB_NUMBER.tar.gz"

deploy:
- provider: script
  script: ./tools/travis/publish-images.sh
  on:
    branch: master
    repo: apache/incubator-openwhisk-deploy-kube
