trigger: batch: true branches: include: - main - stable-* pr: autoCancel: true branches: include: - main - stable-* schedules: - cron: 0 8 * * * displayName: Nightly (main) always: true branches: include: - main - cron: 0 10 * * * displayName: Nightly (active stable branches) always: true branches: include: - stable-4 - cron: 0 11 * * 0 displayName: Weekly (old stable branches) always: true branches: include: - stable-3 variables: - name: checkoutPath value: ansible_collections/community/general - name: coverageBranches value: main - name: pipelinesCoverage value: coverage - name: entryPoint value: tests/utils/shippable/shippable.sh - name: fetchDepth value: 0 resources: containers: - container: default image: quay.io/ansible/azure-pipelines-test-container:3.0.0 pool: Standard stages: ### Sanity - stage: Sanity_2_14 displayName: Sanity 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.14/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - test: extra - stage: Sanity_2_13 displayName: Sanity 2.13 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.13/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - stage: Sanity_2_12 displayName: Sanity 2.12 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.12/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - stage: Sanity_2_11 displayName: Sanity 2.11 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.11/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - stage: Sanity_2_10 displayName: Sanity 2.10 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.10/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - stage: Sanity_2_9 displayName: Sanity 2.9 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.9/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 ### Units - stage: Units_2_14 displayName: Units 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.14/units/{0}/1 targets: - test: 2.7 - test: 3.5 - test: 3.6 - test: 3.7 - test: 3.8 - test: 3.9 - test: '3.10' - stage: Units_2_13 displayName: Units 2.13 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.13/units/{0}/1 targets: - test: 2.7 - test: 3.6 - test: 3.8 - test: 3.9 - stage: Units_2_12 displayName: Units 2.12 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.12/units/{0}/1 targets: - test: 2.6 - test: 3.5 - test: 3.8 - stage: Units_2_11 displayName: Units 2.11 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.11/units/{0}/1 targets: - test: 2.6 - test: 2.7 - test: 3.5 - test: 3.9 - stage: Units_2_10 displayName: Units 2.10 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.10/units/{0}/1 targets: - test: 2.7 - test: 3.6 - stage: Units_2_9 displayName: Units 2.9 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.9/units/{0}/1 targets: - test: 2.6 - test: 3.5 ## Remote - stage: Remote_2_14 displayName: Remote 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.14/{0} targets: - name: macOS 12.0 test: macos/12.0 - name: RHEL 7.9 test: rhel/7.9 - name: RHEL 9.0 test: rhel/9.0 - name: FreeBSD 12.3 test: freebsd/12.3 - name: FreeBSD 13.1 test: freebsd/13.1 groups: - 1 - 2 - 3 - stage: Remote_2_13 displayName: Remote 2.13 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.13/{0} targets: - name: macOS 12.0 test: macos/12.0 - name: RHEL 8.5 test: rhel/8.5 groups: - 1 - 2 - 3 - stage: Remote_2_12 displayName: Remote 2.12 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.12/{0} targets: - name: macOS 11.1 test: macos/11.1 - name: RHEL 8.4 test: rhel/8.4 - name: FreeBSD 13.0 test: freebsd/13.0 groups: - 1 - 2 - stage: Remote_2_11 displayName: Remote 2.11 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.11/{0} targets: - name: RHEL 7.9 test: rhel/7.9 - name: RHEL 8.3 test: rhel/8.3 #- name: FreeBSD 12.2 # test: freebsd/12.2 groups: - 1 - 2 - stage: Remote_2_10 displayName: Remote 2.10 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.10/{0} targets: - name: OS X 10.11 test: osx/10.11 - name: macOS 10.15 test: macos/10.15 groups: - 1 - 2 - stage: Remote_2_9 displayName: Remote 2.9 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.9/{0} targets: - name: RHEL 8.2 test: rhel/8.2 - name: RHEL 7.8 test: rhel/7.8 #- name: FreeBSD 12.0 # test: freebsd/12.0 groups: - 1 - 2 ### Docker - stage: Docker_2_14 displayName: Docker 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.14/linux/{0} targets: - name: CentOS 7 test: centos7 - name: Fedora 36 test: fedora36 - name: openSUSE 15 test: opensuse15 - name: Ubuntu 20.04 test: ubuntu2004 - name: Ubuntu 22.04 test: ubuntu2204 - name: Alpine 3 test: alpine3 groups: - 1 - 2 - 3 - stage: Docker_2_13 displayName: Docker 2.13 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.13/linux/{0} targets: - name: Fedora 35 test: fedora35 - name: openSUSE 15 py2 test: opensuse15py2 - name: Alpine 3 test: alpine3 groups: - 1 - 2 - 3 - stage: Docker_2_12 displayName: Docker 2.12 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.12/linux/{0} targets: - name: CentOS 6 test: centos6 - name: Fedora 34 test: fedora34 - name: Ubuntu 18.04 test: ubuntu1804 groups: - 1 - 2 - 3 - stage: Docker_2_11 displayName: Docker 2.11 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.11/linux/{0} targets: - name: Fedora 33 test: fedora33 - name: Alpine 3 test: alpine3 groups: - 2 - 3 - stage: Docker_2_10 displayName: Docker 2.10 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.10/linux/{0} targets: - name: Fedora 32 test: fedora32 - name: Ubuntu 16.04 test: ubuntu1604 groups: - 2 - 3 - stage: Docker_2_9 displayName: Docker 2.9 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.9/linux/{0} targets: - name: Fedora 31 test: fedora31 groups: - 2 - 3 ### Community Docker - stage: Docker_community_2_14 displayName: Docker (community images) 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.14/linux-community/{0} targets: - name: Debian Bullseye test: debian-bullseye/3.9 - name: ArchLinux test: archlinux/3.10 - name: CentOS Stream 8 test: centos-stream8/3.8 groups: - 1 - 2 - 3 ### Cloud - stage: Cloud_2_14 displayName: Cloud 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.14/cloud/{0}/1 targets: - test: 2.7 - test: '3.10' - stage: Cloud_2_13 displayName: Cloud 2.13 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.13/cloud/{0}/1 targets: - test: 3.9 - stage: Cloud_2_12 displayName: Cloud 2.12 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.12/cloud/{0}/1 targets: - test: 3.8 - stage: Cloud_2_11 displayName: Cloud 2.11 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.11/cloud/{0}/1 targets: - test: 3.6 - stage: Cloud_2_10 displayName: Cloud 2.10 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.10/cloud/{0}/1 targets: - test: 3.5 - stage: Cloud_2_9 displayName: Cloud 2.9 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.9/cloud/{0}/1 targets: - test: 2.7 - stage: Summary condition: succeededOrFailed() dependsOn: - Sanity_2_14 - Sanity_2_9 - Sanity_2_10 - Sanity_2_11 - Sanity_2_12 - Sanity_2_13 - Units_2_14 - Units_2_9 - Units_2_10 - Units_2_11 - Units_2_12 - Units_2_13 - Remote_2_14 - Remote_2_9 - Remote_2_10 - Remote_2_11 - Remote_2_12 - Remote_2_13 - Docker_2_14 - Docker_2_9 - Docker_2_10 - Docker_2_11 - Docker_2_12 - Docker_2_13 - Docker_community_2_14 - Cloud_2_14 - Cloud_2_9 - Cloud_2_10 - Cloud_2_11 - Cloud_2_12 - Cloud_2_13 jobs: - template: templates/coverage.yml