Skip to content

Commit b044b34

Browse files
Merge branch 'master' into Release
2 parents 2961068 + d51a711 commit b044b34

19 files changed

Lines changed: 1851 additions & 697 deletions

CI/azure-pipelines-build.yml

Lines changed: 99 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ stages:
3838
displayName: 'Install .NET7.0 sdk'
3939
inputs:
4040
packageType: 'sdk'
41-
version: '7.0.x'
42-
includePreviewVersions: true
41+
version: '7.x'
4342
# Build
4443
- task: DotNetCoreCLI@2
4544
displayName: Restore Solution NuGet Packages
@@ -97,8 +96,8 @@ stages:
9796
displayName: Execute Windows Tests
9897
dependsOn: BuildDrawingLibraries
9998
jobs:
100-
# Windows .NET Core Tests
101-
- job: WindowsNetCoreTests
99+
# Windows .NET Core x64 Tests
100+
- job: WindowsNetCoreX64Tests
102101
steps:
103102
- checkout: none
104103
- task: DownloadPipelineArtifact@2
@@ -119,6 +118,27 @@ stages:
119118
arguments: '-s IronDrawingTests/tests.runsettings --framework "netcoreapp3.1" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\netcoreapp3.1\testhost.log"'
120119
testRunTitle: 'Windows (.NET Core) Tests'
121120
publishTestResults: true
121+
# Upload Log files
122+
- task: PublishPipelineArtifact@1
123+
inputs:
124+
targetPath: '$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\netcoreapp3.1\testhost.log'
125+
artifact: 'IronDrawing testhost Windows netcoreapp3.1 x64 log'
126+
publishLocation: 'pipeline'
127+
condition: always()
128+
# Windows .NET Core x86 Tests
129+
- job: WindowsNetCoreX86Tests
130+
steps:
131+
- checkout: none
132+
- task: DownloadPipelineArtifact@2
133+
inputs:
134+
buildType: 'current'
135+
artifactName: 'IronDrawingTests'
136+
targetPath: 'IronDrawingTests'
137+
- task: DownloadPipelineArtifact@2
138+
inputs:
139+
buildType: 'current'
140+
artifactName: 'IronDrawingDataTests'
141+
targetPath: '$(Agent.BuildDirectory)/Data'
122142
- task: DotNetCoreCLI@2
123143
displayName: Execute Windows (.NET Core x86) Tests
124144
inputs:
@@ -127,6 +147,13 @@ stages:
127147
arguments: '-s IronDrawingTests/tests.x86.runsettings --framework "netcoreapp3.1" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\netcoreapp3.1\testhost.log"'
128148
testRunTitle: 'Windows (.NET Core) Tests'
129149
publishTestResults: true
150+
# Upload Log files
151+
- task: PublishPipelineArtifact@1
152+
inputs:
153+
targetPath: '$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\netcoreapp3.1\testhost.log'
154+
artifact: 'IronDrawing testhost Windows netcoreapp3.1 x86 log'
155+
publishLocation: 'pipeline'
156+
condition: always()
130157
# Windows .NET 6.0 Tests
131158
- job: WindowsNet60Tests
132159
steps:
@@ -141,11 +168,6 @@ stages:
141168
buildType: 'current'
142169
artifactName: 'IronDrawingDataTests'
143170
targetPath: '$(Agent.BuildDirectory)/Data'
144-
- task: UseDotNet@2
145-
displayName: 'Use .NET Core sdk'
146-
inputs:
147-
packageType: 'sdk'
148-
version: '6.0.x'
149171
- task: DotNetCoreCLI@2
150172
displayName: Execute Windows (.NET 6.0 x64) Tests
151173
inputs:
@@ -154,6 +176,13 @@ stages:
154176
arguments: '-s IronDrawingTests/tests.runsettings --framework "net60" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\net60\testhost.log"'
155177
testRunTitle: 'Windows (.NET 6.0) Tests'
156178
publishTestResults: true
179+
# Upload Log files
180+
- task: PublishPipelineArtifact@1
181+
inputs:
182+
targetPath: '$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\net60\testhost.log'
183+
artifact: 'IronDrawing testhost Windows net60 log'
184+
publishLocation: 'pipeline'
185+
condition: always()
157186
# Windows .NET 7.0 Tests
158187
- job: WindowsNet70Tests
159188
steps:
@@ -168,12 +197,6 @@ stages:
168197
buildType: 'current'
169198
artifactName: 'IronDrawingDataTests'
170199
targetPath: '$(Agent.BuildDirectory)/Data'
171-
- task: UseDotNet@2
172-
displayName: 'Use .NET Core sdk'
173-
inputs:
174-
packageType: 'sdk'
175-
version: '7.0.x'
176-
includePreviewVersions: true
177200
- task: DotNetCoreCLI@2
178201
displayName: Execute Windows (.NET 7.0 x64) Tests
179202
inputs:
@@ -182,6 +205,13 @@ stages:
182205
arguments: '-s IronDrawingTests/tests.runsettings --framework "net70" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\net70\testhost.log"'
183206
testRunTitle: 'Windows (.NET 7.0) Tests'
184207
publishTestResults: true
208+
# Upload Log files
209+
- task: PublishPipelineArtifact@1
210+
inputs:
211+
targetPath: '$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\net70\testhost.log'
212+
artifact: 'IronDrawing testhost Windows net70 log'
213+
publishLocation: 'pipeline'
214+
condition: always()
185215
## Test Linux
186216
- stage: LinuxTests
187217
pool:
@@ -202,14 +232,26 @@ stages:
202232
buildType: 'current'
203233
artifactName: 'IronDrawingDataTests'
204234
targetPath: '$(Agent.BuildDirectory)/Data'
235+
- task: UseDotNet@2
236+
displayName: 'Install .Netcoreapp3.1 Core sdk'
237+
inputs:
238+
packageType: 'sdk'
239+
version: '3.x'
205240
- task: DotNetCoreCLI@2
206241
displayName: Execute Linux (.NET Core) Tests
207242
inputs:
208243
command: 'test'
209244
projects: 'IronDrawingTests/netcoreapp3.1/IronSoftware.Drawing.Common.Tests.dll'
210-
arguments: '-s IronDrawingTests/tests.runsettings --framework "netcoreapp3.1" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\netcoreapp3.1\testhost.log"'
245+
arguments: '-s IronDrawingTests/tests.runsettings --framework "netcoreapp3.1" -v d --diag:"$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/netcoreapp3.1/testhost.log"'
211246
testRunTitle: 'Linux (.NET Core) Tests'
212247
publishTestResults: true
248+
# Upload Log files
249+
- task: PublishPipelineArtifact@1
250+
inputs:
251+
targetPath: '$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/netcoreapp3.1/testhost.log'
252+
artifact: 'IronDrawing testhost Ubuntu netcoreapp3.1 log'
253+
publishLocation: 'pipeline'
254+
condition: always()
213255
- job: LinuxNet60Tests
214256
steps:
215257
- checkout: none
@@ -223,18 +265,21 @@ stages:
223265
buildType: 'current'
224266
artifactName: 'IronDrawingDataTests'
225267
targetPath: '$(Agent.BuildDirectory)/Data'
226-
- task: UseDotNet@2
227-
inputs:
228-
version: '6.x'
229-
packageType: 'sdk'
230268
- task: DotNetCoreCLI@2
231269
displayName: Execute Linux (.NET 6.0) Tests
232270
inputs:
233271
command: 'test'
234272
projects: 'IronDrawingTests/net60/IronSoftware.Drawing.Common.Tests.dll'
235-
arguments: '-s IronDrawingTests/tests.runsettings --framework "net60" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\net60\testhost.log"'
273+
arguments: '-s IronDrawingTests/tests.runsettings --framework "net60" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/net60/testhost.log"'
236274
testRunTitle: 'Linux (.NET 6.0) Tests'
237275
publishTestResults: true
276+
# Upload Log files
277+
- task: PublishPipelineArtifact@1
278+
inputs:
279+
targetPath: '$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/net60/testhost.log'
280+
artifact: 'IronDrawing testhost Ubuntu net60 log'
281+
publishLocation: 'pipeline'
282+
condition: always()
238283
- job: LinuxNet70Tests
239284
steps:
240285
- checkout: none
@@ -248,30 +293,38 @@ stages:
248293
buildType: 'current'
249294
artifactName: 'IronDrawingDataTests'
250295
targetPath: '$(Agent.BuildDirectory)/Data'
251-
- task: UseDotNet@2
252-
inputs:
253-
version: '7.x'
254-
packageType: 'sdk'
255-
includePreviewVersions: true
256296
- task: DotNetCoreCLI@2
257297
displayName: Execute Linux (.NET 7.0) Tests
258298
inputs:
259299
command: 'test'
260300
projects: 'IronDrawingTests/net70/IronSoftware.Drawing.Common.Tests.dll'
261-
arguments: '-s IronDrawingTests/tests.runsettings --framework "net70" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\net70\testhost.log"'
301+
arguments: '-s IronDrawingTests/tests.runsettings --framework "net70" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/net70/testhost.log"'
262302
testRunTitle: 'Linux (.NET 6.0) Tests'
263303
publishTestResults: true
304+
# Upload Log files
305+
- task: PublishPipelineArtifact@1
306+
inputs:
307+
targetPath: '$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/net70/testhost.log'
308+
artifact: 'IronDrawing testhost Ubuntu net70 log'
309+
publishLocation: 'pipeline'
310+
condition: always()
264311
## Test MacOs
265312
- stage: MacOsTests
266313
pool:
267314
vmImage: 'macOS-latest'
268315
displayName: Execute MacOs Tests
269316
dependsOn: BuildDrawingLibraries
270317
jobs:
271-
- job: MacOsNetCoreTests
318+
- job: MacOsTests
272319
steps:
273320
- checkout: none
274-
- bash: 'brew update && brew install mono-libgdiplus'
321+
- bash: 'rm /usr/local/bin/2to3 && rm /usr/local/bin/idle3 && rm /usr/local/bin/pydoc3 && rm /usr/local/bin/python3 && rm /usr/local/bin/python3-config && brew reinstall $(brew deps python@3.10) && brew reinstall python@3.10'
322+
displayName: Reinstall python 3.10
323+
- bash: 'rm /usr/local/bin/2to3-3.11 && rm /usr/local/bin/idle3.11 && rm /usr/local/bin/pydoc3.11 && rm /usr/local/bin/python3.11 && rm /usr/local/bin/python3.11-config && brew reinstall $(brew deps python@3.11) && brew reinstall python@3.11'
324+
displayName: Reinstall python 3.11
325+
- bash: 'brew update && brew upgrade'
326+
displayName: Update brew & Upgrage all packages
327+
- bash: 'brew install mono-libgdiplus'
275328
displayName: Install GdiPlus
276329
- task: DownloadPipelineArtifact@2
277330
inputs:
@@ -288,36 +341,32 @@ stages:
288341
inputs:
289342
command: 'test'
290343
projects: 'IronDrawingTests/netcoreapp3.1/IronSoftware.Drawing.Common.Tests.dll'
291-
arguments: '-s IronDrawingTests/tests.runsettings --framework "netcoreapp3.1" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\netcoreapp3.1\testhost.log"'
344+
arguments: '-s IronDrawingTests/tests.runsettings --framework "netcoreapp3.1" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/netcoreapp3.1/testhost.log"'
292345
testRunTitle: 'MacOs (.NET Core) Tests'
293346
publishTestResults: true
294-
- job: MacOsNet60Tests
295-
steps:
296-
- checkout: none
297-
- bash: 'brew update && brew install mono-libgdiplus'
298-
displayName: Install GdiPlus
299-
- task: DownloadPipelineArtifact@2
300-
inputs:
301-
buildType: 'current'
302-
artifactName: 'IronDrawingTests'
303-
targetPath: 'IronDrawingTests'
304-
- task: DownloadPipelineArtifact@2
305-
inputs:
306-
buildType: 'current'
307-
artifactName: 'IronDrawingDataTests'
308-
targetPath: '$(Agent.BuildDirectory)/Data'
309-
- task: UseDotNet@2
310-
inputs:
311-
packageType: 'sdk'
312-
version: '6.0.x'
313347
- task: DotNetCoreCLI@2
314348
displayName: Execute MacOs (.NET 6.0) Tests
315349
inputs:
316350
command: 'test'
317351
projects: 'IronDrawingTests/net60/IronSoftware.Drawing.Common.Tests.dll'
318-
arguments: '-s IronDrawingTests/tests.runsettings --framework "net60" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)\IronDrawingTests\bin\$(Configuration)\net60\testhost.log"'
352+
arguments: '-s IronDrawingTests/tests.runsettings --framework "net60" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/net60/testhost.log"'
319353
testRunTitle: 'MacOs (.NET 6.0) Tests'
320354
publishTestResults: true
355+
- task: DotNetCoreCLI@2
356+
displayName: Execute MacOs (.NET 7.0) Tests
357+
inputs:
358+
command: 'test'
359+
projects: 'IronDrawingTests/net60/IronSoftware.Drawing.Common.Tests.dll'
360+
arguments: '-s IronDrawingTests/tests.runsettings --framework "net70" -v d --blame --blame-hang --blame-crash --blame-hang-timeout 7m --diag:"$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)/net70/testhost.log"'
361+
testRunTitle: 'MacOs (.NET 7.0) Tests'
362+
publishTestResults: true
363+
# Upload Log files
364+
- task: PublishPipelineArtifact@1
365+
inputs:
366+
targetPath: '$(Agent.BuildDirectory)/IronDrawingTests/bin/$(Configuration)'
367+
artifact: 'IronDrawing testhost MacOS log'
368+
publishLocation: 'pipeline'
369+
condition: always()
321370
## Push NuGet Package
322371
- stage: DeployDrawingLibraries
323372
pool:

0 commit comments

Comments
 (0)