]> git.ipfire.org Git - thirdparty/git.git/blame - azure-pipelines.yml
Add a build definition for Azure DevOps
[thirdparty/git.git] / azure-pipelines.yml
CommitLineData
27be7817
JS
1resources:
2- repo: self
3 fetchDepth: 1
4
5jobs:
6- job: linux_clang
7 displayName: linux-clang
8 condition: succeeded()
9 pool: Hosted Ubuntu 1604
10 steps:
11 - bash: |
12 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
13
14 sudo apt-get update &&
15 sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2-bin &&
16
17 export CC=clang || exit 1
18
19 ci/install-dependencies.sh || exit 1
20 ci/run-build-and-tests.sh || {
21 ci/print-test-failures.sh
22 exit 1
23 }
24
25 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
26 displayName: 'ci/run-build-and-tests.sh'
27 env:
28 GITFILESHAREPWD: $(gitfileshare.pwd)
29 - task: PublishTestResults@2
30 displayName: 'Publish Test Results **/TEST-*.xml'
31 inputs:
32 mergeTestResults: true
33 testRunTitle: 'linux-clang'
34 platform: Linux
35 publishRunAttachments: false
36 condition: succeededOrFailed()
37 - task: PublishBuildArtifacts@1
38 displayName: 'Publish trash directories of failed tests'
39 condition: failed()
40 inputs:
41 PathtoPublish: t/failed-test-artifacts
42 ArtifactName: failed-test-artifacts
43
44- job: linux_gcc
45 displayName: linux-gcc
46 condition: succeeded()
47 pool: Hosted Ubuntu 1604
48 steps:
49 - bash: |
50 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
51
52 sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
53 sudo apt-get update &&
54 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
55
56 ci/install-dependencies.sh || exit 1
57 ci/run-build-and-tests.sh || {
58 ci/print-test-failures.sh
59 exit 1
60 }
61
62 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
63 displayName: 'ci/run-build-and-tests.sh'
64 env:
65 GITFILESHAREPWD: $(gitfileshare.pwd)
66 - task: PublishTestResults@2
67 displayName: 'Publish Test Results **/TEST-*.xml'
68 inputs:
69 mergeTestResults: true
70 testRunTitle: 'linux-gcc'
71 platform: Linux
72 publishRunAttachments: false
73 condition: succeededOrFailed()
74 - task: PublishBuildArtifacts@1
75 displayName: 'Publish trash directories of failed tests'
76 condition: failed()
77 inputs:
78 PathtoPublish: t/failed-test-artifacts
79 ArtifactName: failed-test-artifacts
80
81- job: osx_clang
82 displayName: osx-clang
83 condition: succeeded()
84 pool: Hosted macOS
85 steps:
86 - bash: |
87 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
88
89 export CC=clang
90
91 ci/install-dependencies.sh || exit 1
92 ci/run-build-and-tests.sh || {
93 ci/print-test-failures.sh
94 exit 1
95 }
96
97 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1
98 displayName: 'ci/run-build-and-tests.sh'
99 env:
100 GITFILESHAREPWD: $(gitfileshare.pwd)
101 - task: PublishTestResults@2
102 displayName: 'Publish Test Results **/TEST-*.xml'
103 inputs:
104 mergeTestResults: true
105 testRunTitle: 'osx-clang'
106 platform: macOS
107 publishRunAttachments: false
108 condition: succeededOrFailed()
109 - task: PublishBuildArtifacts@1
110 displayName: 'Publish trash directories of failed tests'
111 condition: failed()
112 inputs:
113 PathtoPublish: t/failed-test-artifacts
114 ArtifactName: failed-test-artifacts
115
116- job: osx_gcc
117 displayName: osx-gcc
118 condition: succeeded()
119 pool: Hosted macOS
120 steps:
121 - bash: |
122 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
123
124 ci/install-dependencies.sh || exit 1
125 ci/run-build-and-tests.sh || {
126 ci/print-test-failures.sh
127 exit 1
128 }
129
130 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1
131 displayName: 'ci/run-build-and-tests.sh'
132 env:
133 GITFILESHAREPWD: $(gitfileshare.pwd)
134 - task: PublishTestResults@2
135 displayName: 'Publish Test Results **/TEST-*.xml'
136 inputs:
137 mergeTestResults: true
138 testRunTitle: 'osx-gcc'
139 platform: macOS
140 publishRunAttachments: false
141 condition: succeededOrFailed()
142 - task: PublishBuildArtifacts@1
143 displayName: 'Publish trash directories of failed tests'
144 condition: failed()
145 inputs:
146 PathtoPublish: t/failed-test-artifacts
147 ArtifactName: failed-test-artifacts
148
149- job: gettext_poison
150 displayName: GETTEXT_POISON
151 condition: succeeded()
152 pool: Hosted Ubuntu 1604
153 steps:
154 - bash: |
155 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
156
157 sudo apt-get update &&
158 sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev &&
159
160 export jobname=GETTEXT_POISON || exit 1
161
162 ci/run-build-and-tests.sh || {
163 ci/print-test-failures.sh
164 exit 1
165 }
166
167 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
168 displayName: 'ci/run-build-and-tests.sh'
169 env:
170 GITFILESHAREPWD: $(gitfileshare.pwd)
171 - task: PublishTestResults@2
172 displayName: 'Publish Test Results **/TEST-*.xml'
173 inputs:
174 mergeTestResults: true
175 testRunTitle: 'gettext-poison'
176 platform: Linux
177 publishRunAttachments: false
178 condition: succeededOrFailed()
179 - task: PublishBuildArtifacts@1
180 displayName: 'Publish trash directories of failed tests'
181 condition: failed()
182 inputs:
183 PathtoPublish: t/failed-test-artifacts
184 ArtifactName: failed-test-artifacts
185
186- job: linux32
187 displayName: Linux32
188 condition: succeeded()
189 pool: Hosted Ubuntu 1604
190 steps:
191 - bash: |
192 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
193
194 res=0
195 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
196
197 sudo chmod a+r t/out/TEST-*.xml
198 test ! -d t/failed-test-artifacts || sudo chmod a+r t/failed-test-artifacts
199
200 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || res=1
201 exit $res
202 displayName: 'ci/run-linux32-docker.sh'
203 env:
204 GITFILESHAREPWD: $(gitfileshare.pwd)
205 - task: PublishTestResults@2
206 displayName: 'Publish Test Results **/TEST-*.xml'
207 inputs:
208 mergeTestResults: true
209 testRunTitle: 'linux32'
210 platform: Linux
211 publishRunAttachments: false
212 condition: succeededOrFailed()
213 - task: PublishBuildArtifacts@1
214 displayName: 'Publish trash directories of failed tests'
215 condition: failed()
216 inputs:
217 PathtoPublish: t/failed-test-artifacts
218 ArtifactName: failed-test-artifacts
219
220- job: static_analysis
221 displayName: StaticAnalysis
222 condition: succeeded()
223 pool: Hosted Ubuntu 1604
224 steps:
225 - bash: |
226 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
227
228 sudo apt-get update &&
229 sudo apt-get install -y coccinelle &&
230
231 export jobname=StaticAnalysis &&
232
233 ci/run-static-analysis.sh || exit 1
234
235 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
236 displayName: 'ci/run-static-analysis.sh'
237 env:
238 GITFILESHAREPWD: $(gitfileshare.pwd)
239
240- job: documentation
241 displayName: Documentation
242 condition: succeeded()
243 pool: Hosted Ubuntu 1604
244 steps:
245 - bash: |
246 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
247
248 sudo apt-get update &&
249 sudo apt-get install -y asciidoc xmlto asciidoctor &&
250
251 export ALREADY_HAVE_ASCIIDOCTOR=yes. &&
252 export jobname=Documentation &&
253
254 ci/test-documentation.sh || exit 1
255
256 test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
257 displayName: 'ci/test-documentation.sh'
258 env:
259 GITFILESHAREPWD: $(gitfileshare.pwd)