]> git.ipfire.org Git - thirdparty/git.git/blob - azure-pipelines.yml
t4216: avoid unnecessary subshell in test_bloom_filters_not_used
[thirdparty/git.git] / azure-pipelines.yml
1 variables:
2 Agent.Source.Git.ShallowFetchDepth: 1
3
4 jobs:
5 - job: windows_build
6 displayName: Windows Build
7 condition: succeeded()
8 pool:
9 vmImage: windows-latest
10 timeoutInMinutes: 240
11 steps:
12 - powershell: |
13 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
14 net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no
15 cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\
16 }
17 displayName: 'Mount test-cache'
18 env:
19 GITFILESHAREPWD: $(gitfileshare.pwd)
20 - powershell: |
21 $urlbase = "https://dev.azure.com/git-for-windows/git/_apis/build/builds"
22 $id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=22&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id
23 $downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[1].resource.downloadUrl
24 (New-Object Net.WebClient).DownloadFile($downloadUrl,"git-sdk-64-minimal.zip")
25 Expand-Archive git-sdk-64-minimal.zip -DestinationPath . -Force
26 Remove-Item git-sdk-64-minimal.zip
27
28 # Let Git ignore the SDK and the test-cache
29 "/git-sdk-64-minimal/`n/test-cache/`n" | Out-File -NoNewLine -Encoding ascii -Append "$(Build.SourcesDirectory)\.git\info\exclude"
30 displayName: 'Download git-sdk-64-minimal'
31 - powershell: |
32 & git-sdk-64-minimal\usr\bin\bash.exe -lc @"
33 ci/make-test-artifacts.sh artifacts
34 "@
35 if (!$?) { exit(1) }
36 displayName: Build
37 env:
38 HOME: $(Build.SourcesDirectory)
39 MSYSTEM: MINGW64
40 DEVELOPER: 1
41 NO_PERL: 1
42 - task: PublishPipelineArtifact@0
43 displayName: 'Publish Pipeline Artifact: test artifacts'
44 inputs:
45 artifactName: 'windows-artifacts'
46 targetPath: '$(Build.SourcesDirectory)\artifacts'
47 - task: PublishPipelineArtifact@0
48 displayName: 'Publish Pipeline Artifact: git-sdk-64-minimal'
49 inputs:
50 artifactName: 'git-sdk-64-minimal'
51 targetPath: '$(Build.SourcesDirectory)\git-sdk-64-minimal'
52 - powershell: |
53 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
54 cmd /c rmdir "$(Build.SourcesDirectory)\test-cache"
55 }
56 displayName: 'Unmount test-cache'
57 condition: true
58 env:
59 GITFILESHAREPWD: $(gitfileshare.pwd)
60
61 - job: windows_test
62 displayName: Windows Test
63 dependsOn: windows_build
64 condition: succeeded()
65 pool:
66 vmImage: windows-latest
67 timeoutInMinutes: 240
68 strategy:
69 parallel: 10
70 steps:
71 - powershell: |
72 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
73 net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no
74 cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\
75 }
76 displayName: 'Mount test-cache'
77 env:
78 GITFILESHAREPWD: $(gitfileshare.pwd)
79 - task: DownloadPipelineArtifact@0
80 displayName: 'Download Pipeline Artifact: test artifacts'
81 inputs:
82 artifactName: 'windows-artifacts'
83 targetPath: '$(Build.SourcesDirectory)'
84 - task: DownloadPipelineArtifact@0
85 displayName: 'Download Pipeline Artifact: git-sdk-64-minimal'
86 inputs:
87 artifactName: 'git-sdk-64-minimal'
88 targetPath: '$(Build.SourcesDirectory)\git-sdk-64-minimal'
89 - powershell: |
90 & git-sdk-64-minimal\usr\bin\bash.exe -lc @"
91 test -f artifacts.tar.gz || {
92 echo No test artifacts found\; skipping >&2
93 exit 0
94 }
95 tar xf artifacts.tar.gz || exit 1
96
97 # Let Git ignore the SDK and the test-cache
98 printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude
99
100 ci/run-test-slice.sh `$SYSTEM_JOBPOSITIONINPHASE `$SYSTEM_TOTALJOBSINPHASE || {
101 ci/print-test-failures.sh
102 exit 1
103 }
104 "@
105 if (!$?) { exit(1) }
106 displayName: 'Test (parallel)'
107 env:
108 HOME: $(Build.SourcesDirectory)
109 MSYSTEM: MINGW64
110 NO_SVN_TESTS: 1
111 GIT_TEST_SKIP_REBASE_P: 1
112 - powershell: |
113 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
114 cmd /c rmdir "$(Build.SourcesDirectory)\test-cache"
115 }
116 displayName: 'Unmount test-cache'
117 condition: true
118 env:
119 GITFILESHAREPWD: $(gitfileshare.pwd)
120 - task: PublishTestResults@2
121 displayName: 'Publish Test Results **/TEST-*.xml'
122 inputs:
123 mergeTestResults: true
124 testRunTitle: 'windows'
125 platform: Windows
126 publishRunAttachments: false
127 condition: succeededOrFailed()
128 - task: PublishBuildArtifacts@1
129 displayName: 'Publish trash directories of failed tests'
130 condition: failed()
131 inputs:
132 PathtoPublish: t/failed-test-artifacts
133 ArtifactName: failed-test-artifacts
134
135 - job: vs_build
136 displayName: Visual Studio Build
137 condition: succeeded()
138 pool:
139 vmImage: windows-latest
140 timeoutInMinutes: 240
141 steps:
142 - powershell: |
143 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
144 net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no
145 cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\
146 }
147 displayName: 'Mount test-cache'
148 env:
149 GITFILESHAREPWD: $(gitfileshare.pwd)
150 - powershell: |
151 $urlbase = "https://dev.azure.com/git-for-windows/git/_apis/build/builds"
152 $id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=22&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id
153 $downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[1].resource.downloadUrl
154 (New-Object Net.WebClient).DownloadFile($downloadUrl,"git-sdk-64-minimal.zip")
155 Expand-Archive git-sdk-64-minimal.zip -DestinationPath . -Force
156 Remove-Item git-sdk-64-minimal.zip
157
158 # Let Git ignore the SDK and the test-cache
159 "/git-sdk-64-minimal/`n/test-cache/`n" | Out-File -NoNewLine -Encoding ascii -Append "$(Build.SourcesDirectory)\.git\info\exclude"
160 displayName: 'Download git-sdk-64-minimal'
161 - powershell: |
162 & git-sdk-64-minimal\usr\bin\bash.exe -lc @"
163 make NDEBUG=1 DEVELOPER=1 vcxproj
164 "@
165 if (!$?) { exit(1) }
166 displayName: Generate Visual Studio Solution
167 env:
168 HOME: $(Build.SourcesDirectory)
169 MSYSTEM: MINGW64
170 DEVELOPER: 1
171 NO_PERL: 1
172 GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
173 - powershell: |
174 $urlbase = "https://dev.azure.com/git/git/_apis/build/builds"
175 $id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=9&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id
176 $downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[0].resource.downloadUrl
177 (New-Object Net.WebClient).DownloadFile($downloadUrl, "compat.zip")
178 Expand-Archive compat.zip -DestinationPath . -Force
179 Remove-Item compat.zip
180 displayName: 'Download vcpkg artifacts'
181 - task: MSBuild@1
182 inputs:
183 solution: git.sln
184 platform: x64
185 configuration: Release
186 maximumCpuCount: 4
187 msbuildArguments: /p:PlatformToolset=v142
188 - powershell: |
189 & compat\vcbuild\vcpkg_copy_dlls.bat release
190 if (!$?) { exit(1) }
191 & git-sdk-64-minimal\usr\bin\bash.exe -lc @"
192 mkdir -p artifacts &&
193 eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts | grep ^tar)\"
194 "@
195 if (!$?) { exit(1) }
196 displayName: Bundle artifact tar
197 env:
198 HOME: $(Build.SourcesDirectory)
199 MSYSTEM: MINGW64
200 DEVELOPER: 1
201 NO_PERL: 1
202 MSVC: 1
203 VCPKG_ROOT: $(Build.SourcesDirectory)\compat\vcbuild\vcpkg
204 - powershell: |
205 $tag = (Invoke-WebRequest -UseBasicParsing "https://gitforwindows.org/latest-tag.txt").content
206 $version = (Invoke-WebRequest -UseBasicParsing "https://gitforwindows.org/latest-version.txt").content
207 $url = "https://github.com/git-for-windows/git/releases/download/${tag}/PortableGit-${version}-64-bit.7z.exe"
208 (New-Object Net.WebClient).DownloadFile($url,"PortableGit.exe")
209 & .\PortableGit.exe -y -oartifacts\PortableGit
210 # Wait until it is unpacked
211 while (-not @(Remove-Item -ErrorAction SilentlyContinue PortableGit.exe; $?)) { sleep 1 }
212 displayName: Download & extract portable Git
213 - task: PublishPipelineArtifact@0
214 displayName: 'Publish Pipeline Artifact: MSVC test artifacts'
215 inputs:
216 artifactName: 'vs-artifacts'
217 targetPath: '$(Build.SourcesDirectory)\artifacts'
218 - powershell: |
219 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
220 cmd /c rmdir "$(Build.SourcesDirectory)\test-cache"
221 }
222 displayName: 'Unmount test-cache'
223 condition: true
224 env:
225 GITFILESHAREPWD: $(gitfileshare.pwd)
226
227 - job: vs_test
228 displayName: Visual Studio Test
229 dependsOn: vs_build
230 condition: succeeded()
231 pool:
232 vmImage: windows-latest
233 timeoutInMinutes: 240
234 strategy:
235 parallel: 10
236 steps:
237 - powershell: |
238 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
239 net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no
240 cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\
241 }
242 displayName: 'Mount test-cache'
243 env:
244 GITFILESHAREPWD: $(gitfileshare.pwd)
245 - task: DownloadPipelineArtifact@0
246 displayName: 'Download Pipeline Artifact: VS test artifacts'
247 inputs:
248 artifactName: 'vs-artifacts'
249 targetPath: '$(Build.SourcesDirectory)'
250 - powershell: |
251 & PortableGit\git-cmd.exe --command=usr\bin\bash.exe -lc @"
252 test -f artifacts.tar.gz || {
253 echo No test artifacts found\; skipping >&2
254 exit 0
255 }
256 tar xf artifacts.tar.gz || exit 1
257
258 # Let Git ignore the SDK and the test-cache
259 printf '%s\n' /PortableGit/ /test-cache/ >>.git/info/exclude
260
261 cd t &&
262 PATH=\"`$PWD/helper:`$PATH\" &&
263 test-tool.exe run-command testsuite --jobs=10 -V -x --write-junit-xml \
264 `$(test-tool.exe path-utils slice-tests \
265 `$SYSTEM_JOBPOSITIONINPHASE `$SYSTEM_TOTALJOBSINPHASE t[0-9]*.sh)
266 "@
267 if (!$?) { exit(1) }
268 displayName: 'Test (parallel)'
269 env:
270 HOME: $(Build.SourcesDirectory)
271 MSYSTEM: MINGW64
272 NO_SVN_TESTS: 1
273 GIT_TEST_SKIP_REBASE_P: 1
274 - powershell: |
275 if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
276 cmd /c rmdir "$(Build.SourcesDirectory)\test-cache"
277 }
278 displayName: 'Unmount test-cache'
279 condition: true
280 env:
281 GITFILESHAREPWD: $(gitfileshare.pwd)
282 - task: PublishTestResults@2
283 displayName: 'Publish Test Results **/TEST-*.xml'
284 inputs:
285 mergeTestResults: true
286 testRunTitle: 'vs'
287 platform: Windows
288 publishRunAttachments: false
289 condition: succeededOrFailed()
290 - task: PublishBuildArtifacts@1
291 displayName: 'Publish trash directories of failed tests'
292 condition: failed()
293 inputs:
294 PathtoPublish: t/failed-test-artifacts
295 ArtifactName: failed-vs-test-artifacts
296
297 - job: linux_clang
298 displayName: linux-clang
299 condition: succeeded()
300 pool:
301 vmImage: ubuntu-latest
302 steps:
303 - bash: |
304 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
305
306 sudo apt-get update &&
307 sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2-bin &&
308
309 export CC=clang || exit 1
310
311 ci/install-dependencies.sh || exit 1
312 ci/run-build-and-tests.sh || {
313 ci/print-test-failures.sh
314 exit 1
315 }
316
317 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
318 displayName: 'ci/run-build-and-tests.sh'
319 env:
320 GITFILESHAREPWD: $(gitfileshare.pwd)
321 - task: PublishTestResults@2
322 displayName: 'Publish Test Results **/TEST-*.xml'
323 inputs:
324 mergeTestResults: true
325 testRunTitle: 'linux-clang'
326 platform: Linux
327 publishRunAttachments: false
328 condition: succeededOrFailed()
329 - task: PublishBuildArtifacts@1
330 displayName: 'Publish trash directories of failed tests'
331 condition: failed()
332 inputs:
333 PathtoPublish: t/failed-test-artifacts
334 ArtifactName: failed-test-artifacts
335
336 - job: linux_gcc
337 displayName: linux-gcc
338 condition: succeeded()
339 pool:
340 vmImage: ubuntu-latest
341 steps:
342 - bash: |
343 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
344
345 sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
346 sudo apt-get update &&
347 sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2 language-pack-is git-svn gcc-8 || exit 1
348
349 ci/install-dependencies.sh || exit 1
350 ci/run-build-and-tests.sh || {
351 ci/print-test-failures.sh
352 exit 1
353 }
354
355 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
356 displayName: 'ci/run-build-and-tests.sh'
357 env:
358 GITFILESHAREPWD: $(gitfileshare.pwd)
359 - task: PublishTestResults@2
360 displayName: 'Publish Test Results **/TEST-*.xml'
361 inputs:
362 mergeTestResults: true
363 testRunTitle: 'linux-gcc'
364 platform: Linux
365 publishRunAttachments: false
366 condition: succeededOrFailed()
367 - task: PublishBuildArtifacts@1
368 displayName: 'Publish trash directories of failed tests'
369 condition: failed()
370 inputs:
371 PathtoPublish: t/failed-test-artifacts
372 ArtifactName: failed-test-artifacts
373
374 - job: osx_clang
375 displayName: osx-clang
376 condition: succeeded()
377 pool:
378 vmImage: macOS-latest
379 steps:
380 - bash: |
381 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
382
383 export CC=clang
384
385 ci/install-dependencies.sh || exit 1
386 ci/run-build-and-tests.sh || {
387 ci/print-test-failures.sh
388 exit 1
389 }
390
391 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1
392 displayName: 'ci/run-build-and-tests.sh'
393 env:
394 GITFILESHAREPWD: $(gitfileshare.pwd)
395 - task: PublishTestResults@2
396 displayName: 'Publish Test Results **/TEST-*.xml'
397 inputs:
398 mergeTestResults: true
399 testRunTitle: 'osx-clang'
400 platform: macOS
401 publishRunAttachments: false
402 condition: succeededOrFailed()
403 - task: PublishBuildArtifacts@1
404 displayName: 'Publish trash directories of failed tests'
405 condition: failed()
406 inputs:
407 PathtoPublish: t/failed-test-artifacts
408 ArtifactName: failed-test-artifacts
409
410 - job: osx_gcc
411 displayName: osx-gcc
412 condition: succeeded()
413 pool:
414 vmImage: macOS-latest
415 steps:
416 - bash: |
417 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
418
419 ci/install-dependencies.sh || exit 1
420 ci/run-build-and-tests.sh || {
421 ci/print-test-failures.sh
422 exit 1
423 }
424
425 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1
426 displayName: 'ci/run-build-and-tests.sh'
427 env:
428 GITFILESHAREPWD: $(gitfileshare.pwd)
429 - task: PublishTestResults@2
430 displayName: 'Publish Test Results **/TEST-*.xml'
431 inputs:
432 mergeTestResults: true
433 testRunTitle: 'osx-gcc'
434 platform: macOS
435 publishRunAttachments: false
436 condition: succeededOrFailed()
437 - task: PublishBuildArtifacts@1
438 displayName: 'Publish trash directories of failed tests'
439 condition: failed()
440 inputs:
441 PathtoPublish: t/failed-test-artifacts
442 ArtifactName: failed-test-artifacts
443
444 - job: gettext_poison
445 displayName: GETTEXT_POISON
446 condition: succeeded()
447 pool:
448 vmImage: ubuntu-latest
449 steps:
450 - bash: |
451 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
452
453 sudo apt-get update &&
454 sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev &&
455
456 export jobname=GETTEXT_POISON || exit 1
457
458 ci/run-build-and-tests.sh || {
459 ci/print-test-failures.sh
460 exit 1
461 }
462
463 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
464 displayName: 'ci/run-build-and-tests.sh'
465 env:
466 GITFILESHAREPWD: $(gitfileshare.pwd)
467 - task: PublishTestResults@2
468 displayName: 'Publish Test Results **/TEST-*.xml'
469 inputs:
470 mergeTestResults: true
471 testRunTitle: 'gettext-poison'
472 platform: Linux
473 publishRunAttachments: false
474 condition: succeededOrFailed()
475 - task: PublishBuildArtifacts@1
476 displayName: 'Publish trash directories of failed tests'
477 condition: failed()
478 inputs:
479 PathtoPublish: t/failed-test-artifacts
480 ArtifactName: failed-test-artifacts
481
482 - job: linux32
483 displayName: Linux32
484 condition: succeeded()
485 pool:
486 vmImage: ubuntu-latest
487 steps:
488 - bash: |
489 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
490
491 res=0
492 sudo AGENT_OS="$AGENT_OS" BUILD_BUILDNUMBER="$BUILD_BUILDNUMBER" BUILD_REPOSITORY_URI="$BUILD_REPOSITORY_URI" BUILD_SOURCEBRANCH="$BUILD_SOURCEBRANCH" BUILD_SOURCEVERSION="$BUILD_SOURCEVERSION" SYSTEM_PHASENAME="$SYSTEM_PHASENAME" SYSTEM_TASKDEFINITIONSURI="$SYSTEM_TASKDEFINITIONSURI" SYSTEM_TEAMPROJECT="$SYSTEM_TEAMPROJECT" CC=$CC MAKEFLAGS="$MAKEFLAGS" bash -lxc ci/run-linux32-docker.sh || res=1
493
494 sudo chmod a+r t/out/TEST-*.xml
495 test ! -d t/failed-test-artifacts || sudo chmod a+r t/failed-test-artifacts
496
497 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || res=1
498 exit $res
499 displayName: 'ci/run-linux32-docker.sh'
500 env:
501 GITFILESHAREPWD: $(gitfileshare.pwd)
502 - task: PublishTestResults@2
503 displayName: 'Publish Test Results **/TEST-*.xml'
504 inputs:
505 mergeTestResults: true
506 testRunTitle: 'linux32'
507 platform: Linux
508 publishRunAttachments: false
509 condition: succeededOrFailed()
510 - task: PublishBuildArtifacts@1
511 displayName: 'Publish trash directories of failed tests'
512 condition: failed()
513 inputs:
514 PathtoPublish: t/failed-test-artifacts
515 ArtifactName: failed-test-artifacts
516
517 - job: static_analysis
518 displayName: StaticAnalysis
519 condition: succeeded()
520 pool:
521 vmImage: ubuntu-latest
522 steps:
523 - bash: |
524 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
525
526 sudo apt-get update &&
527 sudo apt-get install -y coccinelle libcurl4-openssl-dev libssl-dev libexpat-dev gettext &&
528
529 export jobname=StaticAnalysis &&
530
531 ci/run-static-analysis.sh || exit 1
532
533 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
534 displayName: 'ci/run-static-analysis.sh'
535 env:
536 GITFILESHAREPWD: $(gitfileshare.pwd)
537
538 - job: documentation
539 displayName: Documentation
540 condition: succeeded()
541 pool:
542 vmImage: ubuntu-latest
543 steps:
544 - bash: |
545 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
546
547 sudo apt-get update &&
548 sudo apt-get install -y asciidoc xmlto asciidoctor docbook-xsl-ns &&
549
550 export ALREADY_HAVE_ASCIIDOCTOR=yes. &&
551 export jobname=Documentation &&
552
553 ci/test-documentation.sh || exit 1
554
555 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
556 displayName: 'ci/test-documentation.sh'
557 env:
558 GITFILESHAREPWD: $(gitfileshare.pwd)