THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
git
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

546 lines
20KB

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