-
Notifications
You must be signed in to change notification settings - Fork 9
/
azure-pipelines.yml
151 lines (118 loc) · 3.72 KB
/
azure-pipelines.yml
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
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
jobs:
- job: server_sgx
pool: 'Ubuntu-1804-SGX-Azure'
timeoutInMinutes: 80
steps:
- checkout: self
submodules: recursive
# scale set agents don't have docker installed
- bash: |
sudo apt-get update
sudo apt-get install -y docker.io
displayName: Install Docker
- script: sudo docker image prune -f
displayName: Remove untagged Docker images
- script: ./docker/server/build.sh
env:
BUILD_TYPE: Debug
RUN_TESTS: 1
CONFONNX_TEST_APP_PWD: $(CONFONNX_TEST_APP_PWD)
displayName: Build & test server in Docker (Debug)
- script: ./docker/server/build.sh
env:
BUILD_TYPE: Release
RUN_TESTS: 1
CONFONNX_TEST_APP_PWD: $(CONFONNX_TEST_APP_PWD)
displayName: Build & test server in Docker (Release)
- task: ComponentGovernanceComponentDetection@0
displayName: Component Detection
# TEMPORARY
- task: PublishBuildArtifacts@1
condition: always()
inputs:
pathtoPublish: dist
artifactName: dist_server_ubuntu1804
# Open Enclave's quote verification library doesn't build in the manylinux CentOS environment.
# Because of that we temporarily also create slightly less compatible Ubuntu-based wheels.
- job: client_ubuntu_nosgx
pool:
vmImage: ubuntu-18.04
steps:
- checkout: self
submodules: recursive
# Note that client tests are done as part of the server job above.
- script: ./docker/client/build.sh
env:
PYTHON_VERSION: '3.6'
displayName: Build client in Docker (Python 3.6 ubuntu 18.04)
- script: ./docker/client/build.sh
env:
PYTHON_VERSION: '3.7'
displayName: Build client in Docker (Python 3.7 ubuntu 18.04)
- script: ./docker/client/build.sh
env:
PYTHON_VERSION: '3.8'
displayName: Build client in Docker (Python 3.8 ubuntu 18.04)
- script: sha256sum dist/Release/lib/python/*.whl > dist/Release/lib/python/hashes.txt
displayName: Compute SHA256 hashes of Python client wheels
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: dist
artifactName: dist_ubuntu1804
displayName: Publish distributables
- job: client_manylinux2010_nosgx
pool:
vmImage: ubuntu-18.04
steps:
- checkout: self
submodules: recursive
- script: ./docker/client/build.sh
env:
TYPE: manylinux
PYTHON_VERSION: '3.6'
displayName: Build & test client in Docker (Python 3.6 manylinux)
- script: ./docker/client/build.sh
env:
TYPE: manylinux
PYTHON_VERSION: '3.7'
displayName: Build & test client in Docker (Python 3.7 manylinux)
- script: ./docker/client/build.sh
env:
TYPE: manylinux
PYTHON_VERSION: '3.8'
displayName: Build & test client in Docker (Python 3.8 manylinux)
- script: sha256sum dist/Release/lib/python/*.whl > dist/Release/lib/python/hashes.txt
displayName: Compute SHA256 hashes of Python client wheels
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: dist
artifactName: dist_manylinux
displayName: Publish distributables
# https://aka.ms/SDT-AzDevOps
- job: analyses
pool:
vmImage: windows-2019
steps:
- checkout: self
submodules: none
- task: CredScan@2
inputs:
toolMajorVersion: 'V2'
outputFormat: 'sarif'
- task: PoliCheck@1
inputs:
inputType: 'Basic'
targetType: 'F'
targetArgument: '$(Build.SourcesDirectory)'
result: 'PoliCheck.xml'
- task: ComponentGovernanceComponentDetection@0
inputs:
scanType: 'Register'
verbosity: 'Verbose'
alertWarningLevel: 'High'
- task: PublishSecurityAnalysisLogs@3
inputs:
ArtifactName: 'CodeAnalysisLogs'
ArtifactType: 'Container'