trigger: batch: true branches: include: - devel - stable-* pr: autoCancel: true branches: include: - devel - stable-* schedules: - cron: 0 7 * * * displayName: Nightly always: true branches: include: - devel - stable-* variables: - name: checkoutPath value: ansible - name: coverageBranches value: devel - name: entryPoint value: .azure-pipelines/commands/entry-point.sh - name: fetchDepth value: 500 - name: defaultContainer value: quay.io/ansible/azure-pipelines-test-container:6.0.0 pool: Standard stages: - stage: Sanity dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Test {0} testFormat: sanity/{0} targets: - test: 1 - test: 2 - stage: Units dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: units/{0} targets: - test: 3.8 - test: 3.9 - test: '3.10' - test: 3.11 - test: 3.12 - test: 3.13 - stage: Windows dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Server {0} testFormat: windows/{0}/1 targets: - name: 2016 WinRM HTTP test: 2016/winrm/http - name: 2019 WinRM HTTPS test: 2019/winrm/https - name: 2022 WinRM HTTPS test: 2022/winrm/https - name: 2022 PSRP HTTP test: 2022/psrp/http - name: 2022 SSH Key test: 2022/ssh/key - name: 2025 PSRP HTTP test: 2025/psrp/http - name: 2025 SSH Key test: 2025/ssh/key - stage: Remote dependsOn: [] jobs: - template: templates/matrix.yml # context/target parameters: targets: - name: macOS 14.3 test: macos/14.3 - name: RHEL 9.4 py39 test: rhel/9.4@3.9 - name: RHEL 9.4 py312 test: rhel/9.4@3.12 - name: FreeBSD 13.4 test: freebsd/13.4 - name: FreeBSD 14.1 test: freebsd/14.1 groups: - 1 - 2 - template: templates/matrix.yml # context/controller parameters: targets: - name: macOS 14.3 test: macos/14.3 - name: RHEL 9.4 test: rhel/9.4 - name: FreeBSD 13.4 test: freebsd/13.4 - name: FreeBSD 14.1 test: freebsd/14.1 groups: - 3 - 4 - 5 - template: templates/matrix.yml # context/controller (ansible-test container management) parameters: targets: - name: Alpine 3.20 test: alpine/3.20 - name: Fedora 40 test: fedora/40 - name: RHEL 9.4 test: rhel/9.4 - name: Ubuntu 24.04 test: ubuntu/24.04 groups: - 6 - stage: Docker dependsOn: [] jobs: - template: templates/matrix.yml # context/target parameters: testFormat: linux/{0} targets: - name: Alpine 3.20 test: alpine320 - name: Fedora 40 test: fedora40 - name: Ubuntu 22.04 test: ubuntu2204 - name: Ubuntu 24.04 test: ubuntu2404 groups: - 1 - 2 - template: templates/matrix.yml # context/controller parameters: testFormat: linux/{0} targets: - name: Alpine 3.20 test: alpine320 - name: Fedora 40 test: fedora40 - name: Ubuntu 24.04 test: ubuntu2404 groups: - 3 - 4 - 5 - stage: Galaxy dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: galaxy/{0}/1 targets: - test: 3.11 - test: 3.12 - test: 3.13 - stage: Generic dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Python {0} testFormat: generic/{0}/1 targets: - test: 3.11 - test: 3.12 - test: 3.13 - stage: Incidental_Windows displayName: Incidental Windows dependsOn: [] jobs: - template: templates/matrix.yml parameters: nameFormat: Server {0} testFormat: i/windows/{0} targets: - name: 2016 WinRM HTTP test: 2016/winrm/http - name: 2019 WinRM HTTPS test: 2019/winrm/https - name: 2022 WinRM HTTPS test: 2022/winrm/https - name: 2022 PSRP HTTP test: 2022/psrp/http - name: 2022 SSH Key test: 2022/ssh/key - name: 2025 PSRP HTTP test: 2025/psrp/http - name: 2025 SSH Key test: 2025/ssh/key - stage: Incidental dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: i/{0}/1 targets: - name: IOS Python test: ios/csr1000v/ - stage: Summary condition: succeededOrFailed() dependsOn: - Sanity - Units - Windows - Remote - Docker - Galaxy - Generic - Incidental_Windows - Incidental jobs: - template: templates/coverage.yml