summaryrefslogtreecommitdiffstats
path: root/ansible_collections/microsoft/ad/.azure-pipelines/azure-pipelines.yml
blob: 5db3a553153d9db714043bba3ef051822c9dbf2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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/microsoft/ad
  - name: coverageBranches
    value: main
  - name: pipelinesCoverage
    value: coverage-powershell
  - 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: Dependencies
    displayName: Dependencies
    jobs:
      - job: dep_download
        displayName: Download Dependencies
        pool:
          vmImage: ubuntu-latest
        steps:
          - checkout: self
            fetchDepth: 1
          - task: UsePythonVersion@0
            inputs:
              versionSpec: "3.10"
          - bash: python -m pip install ansible-core
            displayName: Install Ansible
          - bash: ansible-galaxy collection install -r tests/requirements.yml -p collections
            displayName: Install collection requirements
          - task: PublishPipelineArtifact@1
            inputs:
              targetPath: collections
              artifactName: CollectionRequirements
  - stage: Ansible_devel
    displayName: Ansible devel
    dependsOn:
      - Dependencies
    jobs:
      - template: templates/matrix.yml
        parameters:
          nameFormat: "{0}"
          testFormat: "devel/{0}"
          targets:
            - name: Sanity
              test: sanity
            - name: Units
              test: units
  - stage: Ansible_2_16
    displayName: Ansible 2.16
    dependsOn:
      - Dependencies
    jobs:
      - template: templates/matrix.yml
        parameters:
          nameFormat: "{0}"
          testFormat: "2.16/{0}"
          targets:
            - name: Sanity
              test: sanity
            - name: Units
              test: units
            - name: Lint
              test: lint
  - stage: Ansible_2_15
    displayName: Ansible 2.15
    dependsOn:
      - Dependencies
    jobs:
      - template: templates/matrix.yml
        parameters:
          nameFormat: "{0}"
          testFormat: "2.15/{0}"
          targets:
            - name: Sanity
              test: sanity
            - name: Units
              test: units
  - stage: Ansible_2_14
    displayName: Ansible 2.14
    dependsOn:
      - Dependencies
    jobs:
      - template: templates/matrix.yml
        parameters:
          nameFormat: "{0}"
          testFormat: "2.14/{0}"
          targets:
            - name: Sanity
              test: sanity
            - name: Units
              test: units
  - stage: Windows
    displayName: Windows
    dependsOn:
      - Dependencies
    jobs:
      - template: templates/matrix.yml
        parameters:
          nameFormat: Server {0}
          testFormat: devel/windows/{0}
          targets:
            - test: 2016
            - test: 2019
            - test: 2022
          groups:
            - 1
  - stage: Summary
    condition: succeededOrFailed()
    dependsOn:
      - Ansible_devel
      - Ansible_2_16
      - Ansible_2_15
      - Ansible_2_14
      - Windows
    jobs:
      - template: templates/coverage.yml