--- # 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 9 * * * displayName: Nightly always: true branches: include: - main - cron: 0 12 * * 0 displayName: Weekly (old stable branches) always: true branches: include: - stable-* variables: - name: checkoutPath value: ansible_collections/community/crypto - name: coverageBranches value: main - name: entryPoint value: tests/utils/shippable/shippable.sh - name: fetchDepth value: 0 resources: containers: - container: default image: quay.io/ansible/azure-pipelines-test-container:6.0.0 pool: Standard stages: ### Sanity & units - stage: Ansible_devel displayName: Sanity & Units devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: targets: - name: Sanity test: 'devel/sanity/1' - name: Sanity Extra # Only on devel test: 'devel/sanity/extra' - name: Units test: 'devel/units/1' - stage: Ansible_2_18 displayName: Sanity & Units 2.18 dependsOn: [] jobs: - template: templates/matrix.yml parameters: targets: - name: Sanity test: '2.18/sanity/1' - name: Units test: '2.18/units/1' - stage: Ansible_2_17 displayName: Sanity & Units 2.17 dependsOn: [] jobs: - template: templates/matrix.yml parameters: targets: - name: Sanity test: '2.17/sanity/1' - name: Units test: '2.17/units/1' - stage: Ansible_2_16 displayName: Sanity & Units 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: targets: - name: Sanity test: '2.16/sanity/1' - name: Units test: '2.16/units/1' ### Docker - stage: Docker_devel displayName: Docker devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/linux/{0} targets: - name: Fedora 41 test: fedora41 - name: Ubuntu 24.04 test: ubuntu2404 - name: Alpine 3.21 test: alpine321 groups: - 1 - 2 - stage: Docker_2_18 displayName: Docker 2.18 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.18/linux/{0} targets: - name: Fedora 40 test: fedora40 - name: Ubuntu 24.04 test: ubuntu2404 - name: Alpine 3.20 test: alpine320 groups: - 1 - 2 - stage: Docker_2_17 displayName: Docker 2.17 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.17/linux/{0} targets: - name: Fedora 39 test: fedora39 - name: Ubuntu 22.04 test: ubuntu2204 - name: Alpine 3.19 test: alpine319 groups: - 1 - 2 - 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 - name: Alpine 3 test: alpine3 groups: - 1 - 2 ### 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.13 groups: - 1 - 2 ### 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.21 test: alpine/3.21 - name: Fedora 41 test: fedora/41 - name: Ubuntu 22.04 test: ubuntu/22.04 - name: Ubuntu 24.04 test: ubuntu/24.04 groups: - vm - stage: Remote_devel displayName: Remote devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/{0} targets: - name: macOS 15.3 test: macos/15.3 - name: RHEL 9.5 test: rhel/9.5 - name: FreeBSD 14.2 test: freebsd/14.2 - name: FreeBSD 13.4 test: freebsd/13.4 groups: - 1 - 2 - stage: Remote_2_18 displayName: Remote 2.18 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.18/{0} targets: - name: macOS 14.3 test: macos/14.3 - name: RHEL 9.4 test: rhel/9.4 - name: FreeBSD 14.1 test: freebsd/14.1 groups: - 1 - 2 - stage: Remote_2_17 displayName: Remote 2.17 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.17/{0} targets: - name: RHEL 9.3 test: rhel/9.3 - name: FreeBSD 13.3 test: freebsd/13.3 - name: FreeBSD 14.0 test: freebsd/14.0 groups: - 1 - 2 - 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: RHEL 7.9 test: rhel/7.9 # - name: FreeBSD 13.2 # test: freebsd/13.2 groups: - 1 - 2 ### Generic - stage: Generic_devel displayName: Generic devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: devel/generic/{0} targets: - test: "3.8" # - test: "3.9" # - test: "3.10" - test: "3.11" - test: "3.13" groups: - 1 - 2 - stage: Generic_2_18 displayName: Generic 2.18 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.18/generic/{0} targets: - test: "3.8" - test: "3.13" groups: - 1 - 2 - stage: Generic_2_17 displayName: Generic 2.17 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.17/generic/{0} targets: - test: "3.7" - test: "3.12" groups: - 1 - 2 - stage: Generic_2_16 displayName: Generic 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: 2.16/generic/{0} targets: - test: "2.7" - test: "3.6" - test: "3.11" groups: - 1 - 2 ## Finally - stage: Summary condition: succeededOrFailed() dependsOn: - Ansible_devel - Ansible_2_18 - Ansible_2_17 - Ansible_2_16 - Remote_devel_extra_vms - Remote_devel - Remote_2_18 - Remote_2_17 - Remote_2_16 - Docker_devel - Docker_2_18 - Docker_2_17 - Docker_2_16 - Docker_community_devel - Generic_devel - Generic_2_18 - Generic_2_17 - Generic_2_16 jobs: - template: templates/coverage.yml