forked from qpdf/qpdf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yml
134 lines (134 loc) · 3.75 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
jobs:
- job: Linux
pool:
vmImage: ubuntu-16.04
steps:
- script: azure-pipelines/build-linux
displayName: 'Generate, build, and test'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(System.DefaultWorkingDirectory)/distfiles.zip'
artifactName: distfiles
displayName: 'Upload extra distribution files'
condition: eq(variables['System.PullRequest.IsFork'], 'False')
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
artifactName: distribution
displayName: 'Upload source distribution'
condition: eq(variables['System.PullRequest.IsFork'], 'False')
- task: PublishTestResults@2
inputs:
testRunTitle: Linux
buildPlatform: Linux
- job: Windows
pool:
vmImage: vs2017-win2016
strategy:
matrix:
msvc32:
wordsize: 32
tool: msvc
msvc64:
wordsize: 64
tool: msvc
mingw32:
wordsize: 32
tool: mingw
mingw64:
wordsize: 64
tool: mingw
maxParallel: 4
steps:
- bash: git config --global core.autocrlf input
displayName: 'Disable git autocrlf'
- checkout: self
displayName: 'Get sources'
- task: DownloadBuildArtifacts@0
displayName: 'Download distribution files'
inputs:
artifactName: distfiles
downloadPath: $(System.DefaultWorkingDirectory)
condition: eq(variables['System.PullRequest.IsFork'], 'False')
- script: azure-pipelines/build-windows.bat $(wordsize) $(tool)
displayName: 'Build, test, generate binary distributions'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
artifactName: distribution
displayName: 'Upload binary distributions'
condition: eq(variables['System.PullRequest.IsFork'], 'False')
- task: PublishTestResults@2
inputs:
testRunTitle: Windows-$(wordsize)$(tool)
buildPlatform: Windows-$(wordsize)$(tool)
dependsOn: Linux
condition: succeeded()
- job: macOS
pool:
vmImage: macOS-10.13
steps:
- task: DownloadBuildArtifacts@0
displayName: 'Download distribution files'
inputs:
artifactName: distfiles
downloadPath: $(System.DefaultWorkingDirectory)
condition: eq(variables['System.PullRequest.IsFork'], 'False')
- script: azure-pipelines/build-mac
displayName: 'Mac build and test'
- task: PublishTestResults@2
inputs:
testRunTitle: MacOS
buildPlatform: MacOS
dependsOn: Linux
condition: succeeded()
- job: AppImage
pool:
vmImage: ubuntu-16.04
steps:
- script: azure-pipelines/build-appimage
displayName: 'Build AppImage'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
artifactName: distribution
displayName: 'Upload AppImage'
condition: eq(variables['System.PullRequest.IsFork'], 'False')
- task: PublishTestResults@2
inputs:
testRunTitle: AppImage
buildPlatform: AppImage
dependsOn: Linux
condition: succeeded()
- job: Linux32
pool:
vmImage: ubuntu-16.04
steps:
- script: azure-pipelines/build-linux32
displayName: 'Linux 32-bit'
- task: PublishTestResults@2
inputs:
testRunTitle: Linux32
buildPlatform: Linux32
dependsOn: Linux
condition: succeeded()
- job: Fuzzers
pool:
vmImage: ubuntu-16.04
steps:
- script: azure-pipelines/build-fuzzer
displayName: 'Build Fuzzer'
dependsOn: Linux
condition: succeeded()
- job: Sanitizers
pool:
vmImage: ubuntu-16.04
steps:
- script: azure-pipelines/test-sanitizers
displayName: 'Sanitizer Tests'
- task: PublishTestResults@2
inputs:
testRunTitle: Sanitizers
buildPlatform: Sanitizers
dependsOn: Linux
condition: succeeded()