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
    - env: T=units/2.7
    - env: T=units/3.5
    - env: T=units/3.6
    - env: T=units/3.7
    - env: T=units/3.8
    - env: T=units/3.9

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

    - env: T=osx/10.11/1
    - env: T=rhel/7.8/1
    - env: T=rhel/8.2/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/fedora31/1
    - env: T=linux/fedora32/1
    - env: T=linux/opensuse15py2/1
    - env: T=linux/opensuse15/1
    - env: T=linux/ubuntu1604/1
    - env: T=linux/ubuntu1804/1

    - env: T=osx/10.11/2
    - env: T=rhel/7.8/2
    - env: T=rhel/8.2/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/fedora31/2
    - env: T=linux/fedora32/2
    - env: T=linux/opensuse15py2/2
    - env: T=linux/opensuse15/2
    - env: T=linux/ubuntu1604/2
    - env: T=linux/ubuntu1804/2

    - env: T=osx/10.11/3
    - env: T=rhel/7.8/3
    - env: T=rhel/8.2/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/fedora31/3
    - env: T=linux/fedora32/3
    - env: T=linux/opensuse15py2/3
    - env: T=linux/opensuse15/3
    - env: T=linux/ubuntu1604/3
    - env: T=linux/ubuntu1804/3

    - env: T=osx/10.11/4
    - env: T=rhel/7.8/4
    - env: T=rhel/8.2/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/fedora31/4
    - env: T=linux/fedora32/4
    - env: T=linux/opensuse15py2/4
    - env: T=linux/opensuse15/4
    - env: T=linux/ubuntu1604/4
    - env: T=linux/ubuntu1804/4

    - env: T=osx/10.11/5
    - env: T=rhel/7.8/5
    - env: T=rhel/8.2/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/fedora31/5
    - env: T=linux/fedora32/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=generic/2.7/1
    - env: T=generic/3.6/1

    - env: T=i/osx/10.11
    - env: T=i/rhel/7.8
    - env: T=i/rhel/8.2
    - 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/fedora31
    - env: T=i/linux/fedora32
    - 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

branches:
  except:
    - "*-patch-*"
    - "revert-*-*"

build:
  pre_ci_boot:
    image_name: quay.io/ansible/shippable-build-container
    image_tag: 6.10.4.0
    pull: true
    options: --privileged=true --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