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 - stable-* variables: - name: checkoutPath value: ansible_collections/community/postgresql - 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: - stage: Python_qualtiy_tools displayName: Python quality dependsOn: [] jobs: - job: 'Test' pool: vmImage: 'ubuntu-latest' steps: - task: UsePythonVersion@0 displayName: Get Python for Python tools. inputs: versionSpec: '3.11' addToPath: false name: pyTools - script: $(pyTools.pythonLocation)/bin/pip install --upgrade tox displayName: Upgrade/Install tox. - script: $(pyTools.pythonLocation)/bin/tox -e lint displayName: Run tox -e lint ## 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_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' - stage: Ansible_2_15 displayName: Sanity & Units 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: targets: - name: Sanity test: '2.15/sanity/1' - name: Units test: '2.15/units/1' - stage: Ansible_2_14 displayName: Sanity & Units 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: targets: - name: Sanity test: '2.14/sanity/1' - name: Units test: '2.14/units/1' ## Docker - stage: Docker_devel displayName: Docker devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/linux/{0}/1 targets: - name: Fedora 39 test: fedora39 - name: Ubuntu 20.04 test: ubuntu2004 - name: Ubuntu 22.04 test: ubuntu2204 - stage: Docker_2_17 displayName: Docker 2.17 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.17/linux/{0}/1 targets: - name: Fedora 39 test: fedora39 - name: Ubuntu 20.04 test: ubuntu2004 - name: Ubuntu 22.04 test: ubuntu2204 - stage: Docker_2_16 displayName: Docker 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.16/linux/{0}/1 targets: - name: CentOS 7 test: centos7 - name: Fedora 38 test: fedora38 - name: Ubuntu 20.04 test: ubuntu2004 - name: Ubuntu 22.04 test: ubuntu2204 - stage: Docker_2_15 displayName: Docker 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.15/linux/{0}/1 targets: - name: CentOS 7 test: centos7 - name: Fedora 37 test: fedora37 - name: Ubuntu 20.04 test: ubuntu2004 - name: Ubuntu 22.04 test: ubuntu2204 - stage: Docker_2_14 displayName: Docker 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.14/linux/{0}/1 targets: - name: CentOS 7 test: centos7 - name: Ubuntu 20.04 test: ubuntu2004 ## Remote - stage: Remote_devel displayName: Remote devel dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: devel/{0}/1 targets: - name: RHEL 9.3 test: rhel/9.3 - stage: Remote_2_17 displayName: Remote 2.17 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.17/{0}/1 targets: - name: RHEL 9.3 test: rhel/9.3 - stage: Remote_2_16 displayName: Remote 2.16 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.16/{0}/1 targets: - name: RHEL 8.8 test: rhel/8.8 - stage: Remote_2_15 displayName: Remote 2.15 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.15/{0}/1 targets: - name: RHEL 8.7 test: rhel/8.7 - stage: Remote_2_14 displayName: Remote 2.14 dependsOn: [] jobs: - template: templates/matrix.yml parameters: testFormat: 2.14/{0}/1 targets: - name: RHEL 8.6 test: rhel/8.6 ## Finally - stage: Summary condition: succeededOrFailed() dependsOn: - Ansible_devel - Ansible_2_17 - Ansible_2_16 - Ansible_2_15 - Ansible_2_14 - Docker_devel - Docker_2_17 - Docker_2_16 - Docker_2_15 - Docker_2_14 - Remote_devel - Remote_2_17 - Remote_2_16 - Remote_2_15 - Remote_2_14 jobs: - template: templates/coverage.yml