language: python

env:
  matrix:
    - T=none

matrix:
  exclude:
    - env: T=none
  include:
    - env: T=other

    - env: T=units/2.6
    - env: T=units/2.7
    - env: T=units/3.5
    - env: T=units/3.6
    - env: T=units/3.7

    - env: T=windows/1
    - env: T=windows/2
    - env: T=windows/3
    - env: T=windows/4

    - env: T=network

    - env: T=osx/10.11/1
    - env: T=rhel/7.4/1
    - env: T=freebsd/10.4/1
    - env: T=freebsd/11.1/1
    - env: T=linux/centos6/1
    - env: T=linux/centos7/1
    - env: T=linux/fedora24/1
    - env: T=linux/fedora25/1
    - env: T=linux/opensuse42.2/1
    - env: T=linux/opensuse42.3/1
    - env: T=linux/ubuntu1404/1
    - env: T=linux/ubuntu1604/1
    - env: T=linux/ubuntu1604py3/1

    - env: T=osx/10.11/2
    - env: T=rhel/7.4/2
    - env: T=freebsd/10.4/2
    - env: T=freebsd/11.1/2
    - env: T=linux/centos6/2
    - env: T=linux/centos7/2
    - env: T=linux/fedora24/2
    - env: T=linux/fedora25/2
    - env: T=linux/opensuse42.2/2
    - env: T=linux/opensuse42.3/2
    - env: T=linux/ubuntu1404/2
    - env: T=linux/ubuntu1604/2
    - env: T=linux/ubuntu1604py3/2

    - env: T=osx/10.11/3
    - env: T=rhel/7.4/3
    - env: T=freebsd/10.4/3
    - env: T=freebsd/11.1/3
    - env: T=linux/centos6/3
    - env: T=linux/centos7/3
    - env: T=linux/fedora24/3
    - env: T=linux/fedora25/3
    - env: T=linux/opensuse42.2/3
    - env: T=linux/opensuse42.3/3
    - env: T=linux/ubuntu1404/3
    - env: T=linux/ubuntu1604/3
    - env: T=linux/ubuntu1604py3/3

    - env: T=cloud/default/2.7/1
    - env: T=cloud/default/3.6/1

    - env: T=cloud/default/2.7/2
    - env: T=cloud/default/3.6/2

    - env: T=cloud/default/2.7/3
    - env: T=cloud/default/3.6/3

    - env: T=cloud/default/2.7/4
    - env: T=cloud/default/3.6/4
branches:
  except:
    - "*-patch-*"
    - "revert-*-*"

build:
  pre_ci_boot:
    image_name: drydock/u16pytall
    image_tag: master
    pull: false
    options: "--privileged=false --net=bridge"
  ci:
    - test/utils/shippable/timing.sh test/utils/shippable/shippable.sh $T

integrations:
  notifications:
    - integrationName: email
      type: email
      on_success: never
      on_failure: never
      on_start: never
      on_pull_request: never
    - integrationName: irc
      type: irc
      recipients:
      - "chat.freenode.net#ansible-notices"
      on_success: change
      on_failure: always
      on_start: never
      on_pull_request: always
    - integrationName: slack
      type: slack
      recipients:
      - "#shippable"
      on_success: change
      on_failure: always
      on_start: never
      on_pull_request: never