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=sanity/5

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

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

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

    - env: T=windows/2012/1
    - env: T=windows/2012-R2/1
    - env: T=windows/2016/1
    - env: T=windows/2019/1

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

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

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

    - env: T=windows/2012/5
    - env: T=windows/2012-R2/5
    - env: T=windows/2016/5
    - env: T=windows/2019/5

    - env: T=windows/2012/6
    - env: T=windows/2012-R2/6
    - env: T=windows/2016/6
    - env: T=windows/2019/6

    - env: T=windows/2012/7
    - env: T=windows/2012-R2/7
    - env: T=windows/2016/7
    - env: T=windows/2019/7

    - env: T=aix/7.2/1
    - env: T=osx/10.11/1
    - env: T=rhel/7.6/1
    - env: T=rhel/8.1/1
    - env: T=freebsd/11.1/1
    - env: T=freebsd/12.1/1
    - env: T=linux/centos6/1
    - env: T=linux/centos7/1
    - env: T=linux/centos8/1
    - env: T=linux/fedora30/1
    - env: T=linux/fedora31/1
    - env: T=linux/opensuse15py2/1
    - env: T=linux/opensuse15/1
    - env: T=linux/ubuntu1604/1
    - env: T=linux/ubuntu1804/1

    - env: T=aix/7.2/2
    - env: T=osx/10.11/2
    - env: T=rhel/7.6/2
    - env: T=rhel/8.1/2
    - env: T=freebsd/11.1/2
    - env: T=freebsd/12.1/2
    - env: T=linux/centos6/2
    - env: T=linux/centos7/2
    - env: T=linux/centos8/2
    - env: T=linux/fedora30/2
    - env: T=linux/fedora31/2
    - env: T=linux/opensuse15py2/2
    - env: T=linux/opensuse15/2
    - env: T=linux/ubuntu1604/2
    - env: T=linux/ubuntu1804/2

    - env: T=aix/7.2/3
    - env: T=osx/10.11/3
    - env: T=rhel/7.6/3
    - env: T=rhel/8.1/3
    - env: T=freebsd/11.1/3
    - env: T=freebsd/12.1/3
    - env: T=linux/centos6/3
    - env: T=linux/centos7/3
    - env: T=linux/centos8/3
    - env: T=linux/fedora30/3
    - env: T=linux/fedora31/3
    - env: T=linux/opensuse15py2/3
    - env: T=linux/opensuse15/3
    - env: T=linux/ubuntu1604/3
    - env: T=linux/ubuntu1804/3

    - env: T=aix/7.2/4
    - env: T=osx/10.11/4
    - env: T=rhel/7.6/4
    - env: T=rhel/8.1/4
    - env: T=freebsd/11.1/4
    - env: T=freebsd/12.1/4
    - env: T=linux/centos6/4
    - env: T=linux/centos7/4
    - env: T=linux/centos8/4
    - env: T=linux/fedora30/4
    - env: T=linux/fedora31/4
    - env: T=linux/opensuse15py2/4
    - env: T=linux/opensuse15/4
    - env: T=linux/ubuntu1604/4
    - env: T=linux/ubuntu1804/4

    - env: T=aix/7.2/5
    - env: T=osx/10.11/5
    - env: T=rhel/7.6/5
    - env: T=rhel/8.1/5
    - env: T=freebsd/11.1/5
    - env: T=freebsd/12.1/5
    - env: T=linux/centos6/5
    - env: T=linux/centos7/5
    - env: T=linux/centos8/5
    - env: T=linux/fedora30/5
    - env: T=linux/fedora31/5
    - env: T=linux/opensuse15py2/5
    - env: T=linux/opensuse15/5
    - env: T=linux/ubuntu1604/5
    - env: T=linux/ubuntu1804/5

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

    - env: T=i/aix/7.2
    - env: T=i/osx/10.11
    - env: T=i/rhel/7.6
    - env: T=i/rhel/8.1
    - env: T=i/freebsd/11.1
    - env: T=i/freebsd/12.1
    - env: T=i/linux/centos6
    - env: T=i/linux/centos7
    - env: T=i/linux/centos8
    - env: T=i/linux/fedora30
    - env: T=i/linux/fedora31
    - env: T=i/linux/opensuse15py2
    - env: T=i/linux/opensuse15
    - env: T=i/linux/ubuntu1604
    - env: T=i/linux/ubuntu1804

    - env: T=i/windows/2012
    - env: T=i/windows/2012-R2
    - env: T=i/windows/2016
    - env: T=i/windows/2019

    - env: T=i/ios/csr1000v//1
    - env: T=i/vyos/1.1.8/2.7/1
    - env: T=i/vyos/1.1.8/3.6/1

    - env: T=i/aws/2.7/1
    - env: T=i/aws/3.6/1
    - env: T=i/azure/2.7/1
    - env: T=i/azure/3.6/1
    - env: T=i/vcenter//1
    - env: T=i/cs//1
    - env: T=i/tower//1
    - env: T=i/cloud//1
    - env: T=i/hcloud//1

    - env: T=ios/csr1000v//1

    - env: T=vyos/1.1.8/2.7/1
    - env: T=vyos/1.1.8/3.6/1

    - 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=aws/2.7/3
    - env: T=aws/3.6/3

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

    - 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=azure/2.7/9
    - env: T=azure/3.6/9

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

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

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

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

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

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

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

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

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

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

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