--- # Copyright (c) Ansible Project # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later 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-8 - stable-7 - cron: 0 11 * * 0 displayName: Weekly (old stable branches) always: true branches: include: - stable-6 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:4.0.1 pool: Standard stages: ### Sanity - stage: Sanity_devel displayName: Sanity devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: devel/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - test: extra - stage: Sanity_2_16 displayName: Sanity 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.16/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - stage: Sanity_2_15 displayName: Sanity 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: 2.15/sanity/{0} targets: - test: 1 - test: 2 - test: 3 - test: 4 - 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 ### Units - stage: Units_devel displayName: Units devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: devel/units/{0}/1 targets: - test: 3.7 - test: 3.8 - test: 3.9 - test: '3.10' - test: '3.11' - test: '3.12' - stage: Units_2_16 displayName: Units 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.16/units/{0}/1 targets: - test: 2.7 - test: 3.6 - test: "3.11" - stage: Units_2_15 displayName: Units 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.15/units/{0}/1 targets: - test: 3.5 - test: "3.10" - 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: 3.9 ## Remote - stage: Remote_devel_extra_vms displayName: Remote devel extra VMs dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/{0} targets: - name: Alpine 3.18 test: alpine/3.18 # - name: Fedora 39 # test: fedora/39 - name: Ubuntu 22.04 test: ubuntu/22.04 groups: - vm - stage: Remote_devel displayName: Remote devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/{0} targets: - name: macOS 13.2 test: macos/13.2 - name: RHEL 9.3 test: rhel/9.3 - name: FreeBSD 13.2 test: freebsd/13.2 groups: - 1 - 2 - 3 - stage: Remote_2_16 displayName: Remote 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.16/{0} targets: #- name: macOS 13.2 # test: macos/13.2 - name: RHEL 9.2 test: rhel/9.2 - name: RHEL 8.8 test: rhel/8.8 #- name: FreeBSD 13.2 # test: freebsd/13.2 groups: - 1 - 2 - 3 - stage: Remote_2_15 displayName: Remote 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.15/{0} targets: - name: RHEL 9.1 test: rhel/9.1 - name: RHEL 8.7 test: rhel/8.7 - name: RHEL 7.9 test: rhel/7.9 - name: FreeBSD 13.1 test: freebsd/13.1 - name: FreeBSD 12.4 test: freebsd/12.4 groups: - 1 - 2 - 3 - stage: Remote_2_14 displayName: Remote 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.14/{0} targets: - name: RHEL 9.0 test: rhel/9.0 #- name: macOS 12.0 # test: macos/12.0 #- name: FreeBSD 12.4 # test: freebsd/12.4 groups: - 1 - 2 - 3 ### Docker - stage: Docker_devel displayName: Docker devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/linux/{0} targets: - name: Fedora 39 test: fedora39 - name: Ubuntu 20.04 test: ubuntu2004 - name: Ubuntu 22.04 test: ubuntu2204 - name: Alpine 3 test: alpine3 groups: - 1 - 2 - 3 - stage: Docker_2_16 displayName: Docker 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.16/linux/{0} targets: - name: Fedora 38 test: fedora38 - name: openSUSE 15 test: opensuse15 groups: - 1 - 2 - 3 - stage: Docker_2_15 displayName: Docker 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.15/linux/{0} targets: - name: Fedora 37 test: fedora37 - name: CentOS 7 test: centos7 groups: - 1 - 2 - 3 - stage: Docker_2_14 displayName: Docker 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.14/linux/{0} targets: - name: Alpine 3 test: alpine3 groups: - 1 - 2 - 3 ### Community Docker - stage: Docker_community_devel displayName: Docker (community images) devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/linux-community/{0} targets: - name: Debian Bullseye test: debian-bullseye/3.9 - name: Debian Bookworm test: debian-bookworm/3.11 - name: ArchLinux test: archlinux/3.11 groups: - 1 - 2 - 3 ### Generic - stage: Generic_devel displayName: Generic devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: devel/generic/{0}/1 targets: - test: '3.7' - test: '3.12' - stage: Generic_2_16 displayName: Generic 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.16/generic/{0}/1 targets: - test: '2.7' - test: '3.6' - test: '3.11' - stage: Generic_2_15 displayName: Generic 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.15/generic/{0}/1 targets: - test: '3.9' - stage: Generic_2_14 displayName: Generic 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.14/generic/{0}/1 targets: - test: '3.10' - stage: Summary condition: succeededOrFailed() dependsOn: - Sanity_devel - Sanity_2_16 - Sanity_2_15 - Sanity_2_14 - Units_devel - Units_2_16 - Units_2_15 - Units_2_14 - Remote_devel_extra_vms - Remote_devel - Remote_2_16 - Remote_2_15 - Remote_2_14 - Docker_devel - Docker_2_16 - Docker_2_15 - Docker_2_14 - Docker_community_devel # Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled. # - Generic_devel # - Generic_2_16 # - Generic_2_15 # - Generic_2_14 jobs: - template: templates/coverage.yml