]>
Commit | Line | Data |
---|---|---|
1 | resources: | |
2 | - repo: self | |
3 | fetchDepth: 1 | |
4 | ||
5 | jobs: | |
6 | - job: windows_build | |
7 | displayName: Windows Build | |
8 | condition: succeeded() | |
9 | pool: Hosted | |
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: Hosted | |
66 | timeoutInMinutes: 240 | |
67 | strategy: | |
68 | parallel: 10 | |
69 | steps: | |
70 | - powershell: | | |
71 | if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | |
72 | net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no | |
73 | cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\ | |
74 | } | |
75 | displayName: 'Mount test-cache' | |
76 | env: | |
77 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
78 | - task: DownloadPipelineArtifact@0 | |
79 | displayName: 'Download Pipeline Artifact: test artifacts' | |
80 | inputs: | |
81 | artifactName: 'windows-artifacts' | |
82 | targetPath: '$(Build.SourcesDirectory)' | |
83 | - task: DownloadPipelineArtifact@0 | |
84 | displayName: 'Download Pipeline Artifact: git-sdk-64-minimal' | |
85 | inputs: | |
86 | artifactName: 'git-sdk-64-minimal' | |
87 | targetPath: '$(Build.SourcesDirectory)\git-sdk-64-minimal' | |
88 | - powershell: | | |
89 | & git-sdk-64-minimal\usr\bin\bash.exe -lc @" | |
90 | test -f artifacts.tar.gz || { | |
91 | echo No test artifacts found\; skipping >&2 | |
92 | exit 0 | |
93 | } | |
94 | tar xf artifacts.tar.gz || exit 1 | |
95 | ||
96 | # Let Git ignore the SDK and the test-cache | |
97 | printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude | |
98 | ||
99 | ci/run-test-slice.sh `$SYSTEM_JOBPOSITIONINPHASE `$SYSTEM_TOTALJOBSINPHASE || { | |
100 | ci/print-test-failures.sh | |
101 | exit 1 | |
102 | } | |
103 | "@ | |
104 | if (!$?) { exit(1) } | |
105 | displayName: 'Test (parallel)' | |
106 | env: | |
107 | HOME: $(Build.SourcesDirectory) | |
108 | MSYSTEM: MINGW64 | |
109 | NO_SVN_TESTS: 1 | |
110 | GIT_TEST_SKIP_REBASE_P: 1 | |
111 | - powershell: | | |
112 | if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | |
113 | cmd /c rmdir "$(Build.SourcesDirectory)\test-cache" | |
114 | } | |
115 | displayName: 'Unmount test-cache' | |
116 | condition: true | |
117 | env: | |
118 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
119 | - task: PublishTestResults@2 | |
120 | displayName: 'Publish Test Results **/TEST-*.xml' | |
121 | inputs: | |
122 | mergeTestResults: true | |
123 | testRunTitle: 'windows' | |
124 | platform: Windows | |
125 | publishRunAttachments: false | |
126 | condition: succeededOrFailed() | |
127 | - task: PublishBuildArtifacts@1 | |
128 | displayName: 'Publish trash directories of failed tests' | |
129 | condition: failed() | |
130 | inputs: | |
131 | PathtoPublish: t/failed-test-artifacts | |
132 | ArtifactName: failed-test-artifacts | |
133 | ||
134 | - job: linux_clang | |
135 | displayName: linux-clang | |
136 | condition: succeeded() | |
137 | pool: Hosted Ubuntu 1604 | |
138 | steps: | |
139 | - bash: | | |
140 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | |
141 | ||
142 | sudo apt-get update && | |
143 | sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2-bin && | |
144 | ||
145 | export CC=clang || exit 1 | |
146 | ||
147 | ci/install-dependencies.sh || exit 1 | |
148 | ci/run-build-and-tests.sh || { | |
149 | ci/print-test-failures.sh | |
150 | exit 1 | |
151 | } | |
152 | ||
153 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | |
154 | displayName: 'ci/run-build-and-tests.sh' | |
155 | env: | |
156 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
157 | - task: PublishTestResults@2 | |
158 | displayName: 'Publish Test Results **/TEST-*.xml' | |
159 | inputs: | |
160 | mergeTestResults: true | |
161 | testRunTitle: 'linux-clang' | |
162 | platform: Linux | |
163 | publishRunAttachments: false | |
164 | condition: succeededOrFailed() | |
165 | - task: PublishBuildArtifacts@1 | |
166 | displayName: 'Publish trash directories of failed tests' | |
167 | condition: failed() | |
168 | inputs: | |
169 | PathtoPublish: t/failed-test-artifacts | |
170 | ArtifactName: failed-test-artifacts | |
171 | ||
172 | - job: linux_gcc | |
173 | displayName: linux-gcc | |
174 | condition: succeeded() | |
175 | pool: Hosted Ubuntu 1604 | |
176 | steps: | |
177 | - bash: | | |
178 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | |
179 | ||
180 | sudo add-apt-repository ppa:ubuntu-toolchain-r/test && | |
181 | sudo apt-get update && | |
182 | 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 | |
183 | ||
184 | ci/install-dependencies.sh || exit 1 | |
185 | ci/run-build-and-tests.sh || { | |
186 | ci/print-test-failures.sh | |
187 | exit 1 | |
188 | } | |
189 | ||
190 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | |
191 | displayName: 'ci/run-build-and-tests.sh' | |
192 | env: | |
193 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
194 | - task: PublishTestResults@2 | |
195 | displayName: 'Publish Test Results **/TEST-*.xml' | |
196 | inputs: | |
197 | mergeTestResults: true | |
198 | testRunTitle: 'linux-gcc' | |
199 | platform: Linux | |
200 | publishRunAttachments: false | |
201 | condition: succeededOrFailed() | |
202 | - task: PublishBuildArtifacts@1 | |
203 | displayName: 'Publish trash directories of failed tests' | |
204 | condition: failed() | |
205 | inputs: | |
206 | PathtoPublish: t/failed-test-artifacts | |
207 | ArtifactName: failed-test-artifacts | |
208 | ||
209 | - job: osx_clang | |
210 | displayName: osx-clang | |
211 | condition: succeeded() | |
212 | pool: Hosted macOS | |
213 | steps: | |
214 | - bash: | | |
215 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | |
216 | ||
217 | export CC=clang | |
218 | ||
219 | ci/install-dependencies.sh || exit 1 | |
220 | ci/run-build-and-tests.sh || { | |
221 | ci/print-test-failures.sh | |
222 | exit 1 | |
223 | } | |
224 | ||
225 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1 | |
226 | displayName: 'ci/run-build-and-tests.sh' | |
227 | env: | |
228 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
229 | - task: PublishTestResults@2 | |
230 | displayName: 'Publish Test Results **/TEST-*.xml' | |
231 | inputs: | |
232 | mergeTestResults: true | |
233 | testRunTitle: 'osx-clang' | |
234 | platform: macOS | |
235 | publishRunAttachments: false | |
236 | condition: succeededOrFailed() | |
237 | - task: PublishBuildArtifacts@1 | |
238 | displayName: 'Publish trash directories of failed tests' | |
239 | condition: failed() | |
240 | inputs: | |
241 | PathtoPublish: t/failed-test-artifacts | |
242 | ArtifactName: failed-test-artifacts | |
243 | ||
244 | - job: osx_gcc | |
245 | displayName: osx-gcc | |
246 | condition: succeeded() | |
247 | pool: Hosted macOS | |
248 | steps: | |
249 | - bash: | | |
250 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | |
251 | ||
252 | ci/install-dependencies.sh || exit 1 | |
253 | ci/run-build-and-tests.sh || { | |
254 | ci/print-test-failures.sh | |
255 | exit 1 | |
256 | } | |
257 | ||
258 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1 | |
259 | displayName: 'ci/run-build-and-tests.sh' | |
260 | env: | |
261 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
262 | - task: PublishTestResults@2 | |
263 | displayName: 'Publish Test Results **/TEST-*.xml' | |
264 | inputs: | |
265 | mergeTestResults: true | |
266 | testRunTitle: 'osx-gcc' | |
267 | platform: macOS | |
268 | publishRunAttachments: false | |
269 | condition: succeededOrFailed() | |
270 | - task: PublishBuildArtifacts@1 | |
271 | displayName: 'Publish trash directories of failed tests' | |
272 | condition: failed() | |
273 | inputs: | |
274 | PathtoPublish: t/failed-test-artifacts | |
275 | ArtifactName: failed-test-artifacts | |
276 | ||
277 | - job: gettext_poison | |
278 | displayName: GETTEXT_POISON | |
279 | condition: succeeded() | |
280 | pool: Hosted Ubuntu 1604 | |
281 | steps: | |
282 | - bash: | | |
283 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | |
284 | ||
285 | sudo apt-get update && | |
286 | sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev && | |
287 | ||
288 | export jobname=GETTEXT_POISON || exit 1 | |
289 | ||
290 | ci/run-build-and-tests.sh || { | |
291 | ci/print-test-failures.sh | |
292 | exit 1 | |
293 | } | |
294 | ||
295 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | |
296 | displayName: 'ci/run-build-and-tests.sh' | |
297 | env: | |
298 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
299 | - task: PublishTestResults@2 | |
300 | displayName: 'Publish Test Results **/TEST-*.xml' | |
301 | inputs: | |
302 | mergeTestResults: true | |
303 | testRunTitle: 'gettext-poison' | |
304 | platform: Linux | |
305 | publishRunAttachments: false | |
306 | condition: succeededOrFailed() | |
307 | - task: PublishBuildArtifacts@1 | |
308 | displayName: 'Publish trash directories of failed tests' | |
309 | condition: failed() | |
310 | inputs: | |
311 | PathtoPublish: t/failed-test-artifacts | |
312 | ArtifactName: failed-test-artifacts | |
313 | ||
314 | - job: linux32 | |
315 | displayName: Linux32 | |
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 | ||
322 | res=0 | |
323 | 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 | |
324 | ||
325 | sudo chmod a+r t/out/TEST-*.xml | |
326 | test ! -d t/failed-test-artifacts || sudo chmod a+r t/failed-test-artifacts | |
327 | ||
328 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || res=1 | |
329 | exit $res | |
330 | displayName: 'ci/run-linux32-docker.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: 'linux32' | |
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 | ||
348 | - job: static_analysis | |
349 | displayName: StaticAnalysis | |
350 | condition: succeeded() | |
351 | pool: Hosted Ubuntu 1604 | |
352 | steps: | |
353 | - bash: | | |
354 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | |
355 | ||
356 | sudo apt-get update && | |
357 | sudo apt-get install -y coccinelle && | |
358 | ||
359 | export jobname=StaticAnalysis && | |
360 | ||
361 | ci/run-static-analysis.sh || exit 1 | |
362 | ||
363 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | |
364 | displayName: 'ci/run-static-analysis.sh' | |
365 | env: | |
366 | GITFILESHAREPWD: $(gitfileshare.pwd) | |
367 | ||
368 | - job: documentation | |
369 | displayName: Documentation | |
370 | condition: succeeded() | |
371 | pool: Hosted Ubuntu 1604 | |
372 | steps: | |
373 | - bash: | | |
374 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | |
375 | ||
376 | sudo apt-get update && | |
377 | sudo apt-get install -y asciidoc xmlto asciidoctor && | |
378 | ||
379 | export ALREADY_HAVE_ASCIIDOCTOR=yes. && | |
380 | export jobname=Documentation && | |
381 | ||
382 | ci/test-documentation.sh || exit 1 | |
383 | ||
384 | test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | |
385 | displayName: 'ci/test-documentation.sh' | |
386 | env: | |
387 | GITFILESHAREPWD: $(gitfileshare.pwd) |