language: python

env:
  matrix:
    - T=none

matrix:
  exclude:
    - env: T=none
  include:
    - env: T=sanity/1
    - env: T=sanity/2
    - env: T=sanity/3
    - env: T=sanity/4

    - 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/2008/1
    - env: T=windows/2008-R2/1
    - env: T=windows/2012/1
    - env: T=windows/2012-R2/1
    - env: T=windows/2016/1

    - env: T=windows/2008/2
    - env: T=windows/2008-R2/2
    - env: T=windows/2012/2
    - env: T=windows/2012-R2/2
    - env: T=windows/2016/2

    - env: T=windows/2008/3
    - env: T=windows/2008-R2/3
    - env: T=windows/2012/3
    - env: T=windows/2012-R2/3
    - env: T=windows/2016/3

    - env: T=windows/2008/4
    - env: T=windows/2008-R2/4
    - env: T=windows/2012/4
    - env: T=windows/2012-R2/4
    - env: T=windows/2016/4

    - env: T=network

    - env: T=osx/10.11/1
    - env: T=rhel/7.6/1
    - env: T=freebsd/11.1/1
    - env: T=linux/centos6/1
    - env: T=linux/centos7/1
    - env: T=linux/fedora28/1
    - env: T=linux/fedora29/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.6/2
    - env: T=freebsd/11.1/2
    - env: T=linux/centos6/2
    - env: T=linux/centos7/2
    - env: T=linux/fedora28/2
    - env: T=linux/fedora29/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.6/3
    - env: T=freebsd/11.1/3
    - env: T=linux/centos6/3
    - env: T=linux/centos7/3
    - env: T=linux/fedora28/3
    - env: T=linux/fedora29/3
    - env: T=linux/opensuse42.3/3
    - env: T=linux/ubuntu1404/3
    - env: T=linux/ubuntu1604/3
    - env: T=linux/ubuntu1604py3/3

    - env: T=aws/2.7/1
    - env: T=aws/3.6/1

    - env: T=aws/2.7/2
    - env: T=aws/3.6/2

    - env: T=azure/2.7/1
    - env: T=azure/3.6/1

    - env: T=azure/2.7/2
    - env: T=azure/3.6/2

    - env: T=azure/2.7/3
    - env: T=azure/3.6/3

    - env: T=azure/2.7/4
    - env: T=azure/3.6/4

    - env: T=azure/2.7/5
    - env: T=azure/3.6/5

    - env: T=azure/2.7/6
    - env: T=azure/3.6/6

    - env: T=azure/2.7/7
    - env: T=azure/3.6/7

    - env: T=azure/2.7/8
    - env: T=azure/3.6/8

    - env: T=vcenter/2.7/1
    - env: T=vcenter/3.6/1

    - env: T=cs/2.7/1
    - env: T=cs/3.6/1

    - env: T=tower/2.7/1
    - env: T=tower/3.6/1

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

build:
  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