summaryrefslogtreecommitdiffstats
path: root/.azure-pipelines/pr.yml
blob: 65f23eb62ee0952c2a485f24af51038a4129e2a4 (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
148
149
150
151
152
153
154
155
156
157
158
variables:
  manylinux: false
  coverage: false

resources:
  containers:
  - container: manylinux1
    image: pyca/cryptography-manylinux1:x86_64

jobs:
- job: Prebuild
  displayName: Pre-build checks

  pool:
    vmImage: ubuntu-16.04

  steps:
  - template: ./prebuild-checks.yml


- job: Docs_PR
  displayName: Docs PR
  dependsOn: Prebuild
  condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true'))

  pool:
    vmImage: ubuntu-16.04

  steps:
  - template: ./docs-steps.yml


- job: macOS_PR_Tests
  displayName: macOS PR Tests
  dependsOn: Prebuild
  #condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
  # bpo-39837: macOS tests on Azure Pipelines are disabled
  condition: false

  variables:
    testRunTitle: '$(system.pullRequest.TargetBranch)-macos'
    testRunPlatform: macos

  pool:
    vmImage: macos-10.14

  steps:
  - template: ./macos-steps.yml
    parameters:
      targetBranch: $(System.PullRequest.TargetBranch)


- job: Ubuntu_PR_Tests
  displayName: Ubuntu PR Tests
  dependsOn: Prebuild
  condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))

  pool:
    vmImage: ubuntu-16.04

  variables:
    testRunTitle: '$(system.pullRequest.TargetBranch)-linux'
    testRunPlatform: linux
    openssl_version: 1.1.1f

  steps:
  - template: ./posix-steps.yml
    parameters:
      dependencies: apt


- job: ManyLinux1_PR_Tests
  displayName: ManyLinux1 PR Tests
  dependsOn: Prebuild
  condition: |
    and(
        and(
            succeeded(),
            eq(variables['manylinux'], 'true')
        ),
        eq(dependencies.Prebuild.outputs['tests.run'], 'true')
    )

  pool:
    vmImage: ubuntu-16.04

  container: manylinux1

  variables:
    testRunTitle: '$(system.pullRequest.TargetBranch)-manylinux1'
    testRunPlatform: manylinux1
    openssl_version: ''

  steps:
  - template: ./posix-steps.yml
    parameters:
      dependencies: yum
      sudo_dependencies: ''
      xvfb: false
      patchcheck: false


- job: Ubuntu_Coverage_PR_Tests
  displayName: Ubuntu PR Tests (coverage)
  dependsOn: Prebuild
  condition: |
    and(
        and(
            succeeded(),
            eq(variables['coverage'], 'true')
        ),
        eq(dependencies.Prebuild.outputs['tests.run'], 'true')
    )

  pool:
    vmImage: ubuntu-16.04

  variables:
    testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
    testRunPlatform: linux-coverage
    openssl_version: 1.1.1f

  steps:
  - template: ./posix-steps.yml
    parameters:
      dependencies: apt
      coverage: true


- job: Windows_PR_Tests
  displayName: Windows PR Tests
  dependsOn: Prebuild
  condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))

  pool:
    vmImage: windows-2019

  strategy:
    matrix:
      win32:
        arch: win32
        buildOpt:
        testRunTitle: '$(System.PullRequest.TargetBranch)-win32'
        testRunPlatform: win32
      win64:
        arch: amd64
        buildOpt: '-p x64'
        testRunTitle: '$(System.PullRequest.TargetBranch)-win64'
        testRunPlatform: win64
      winarm64:
        arch: arm64
        buildOpt: '-p arm64'
    maxParallel: 4

  steps:
  - template: ./windows-steps.yml
    parameters:
      targetBranch: $(System.PullRequest.TargetBranch)