summaryrefslogtreecommitdiff
path: root/.azure-pipelines/ci.yml
blob: fcfac85ed9c442d9e5d68e55e2736fd2b540ccdb (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
159
160
161
162
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
    parameters:
      upload: true


- job: macOS_CI_Tests
  displayName: macOS CI Tests
  dependsOn: Prebuild
  condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))

  variables:
    testRunTitle: '$(build.sourceBranchName)-macos'
    testRunPlatform: macos

  pool:
    vmImage: xcode9-macos10.13

  steps:
  - template: ./macos-steps.yml


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

  pool:
    vmImage: ubuntu-16.04

  variables:
    testRunTitle: '$(build.sourceBranchName)-linux'
    testRunPlatform: linux
    openssl_version: 1.1.1c

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


- job: ManyLinux1_CI_Tests
  displayName: ManyLinux1 CI 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: '$(build.sourceBranchName)-manylinux1'
    testRunPlatform: manylinux1
    openssl_version: ''

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


- job: Ubuntu_Coverage_CI_Tests
  displayName: Ubuntu CI 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.1c

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


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

  pool:
    vmImage: vs2017-win2016

  strategy:
    matrix:
      win32:
        arch: win32
        buildOpt:
        testRunTitle: '$(Build.SourceBranchName)-win32'
        testRunPlatform: win32
      win64:
        arch: amd64
        buildOpt: '-p x64'
        testRunTitle: '$(Build.SourceBranchName)-win64'
        testRunPlatform: win64
    maxParallel: 2

  steps:
  - template: ./windows-steps.yml

  - template: ./windows-layout-steps.yml
    parameters:
      kind: nuget
  - template: ./windows-layout-steps.yml
    parameters:
      kind: embed
  - template: ./windows-layout-steps.yml
    parameters:
      kind: appx
      fulltest: true