@@ -49,7 +49,7 @@ parameters:
4949
5050stages :
5151- stage : devicetests_build
52- displayName : ${{ parameters.TargetFrameworkVersion }} ios/catalyst/android Helix Tests
52+ displayName : ${{ parameters.TargetFrameworkVersion }} ios/catalyst/android Helix Tests (Mono)
5353 dependsOn : []
5454 jobs :
5555 - template : ${{ iif(eq(parameters.runAsPublic, 'true'), '/eng/common/templates/jobs/jobs.yml', '/eng/common/templates-official/jobs/jobs.yml@self') }}
@@ -70,7 +70,7 @@ stages:
7070 clean : all
7171 jobs :
7272 - job : builddevice_tests
73- displayName : Build Device Tests
73+ displayName : Build Device Tests (Mono)
7474 timeoutInMinutes : 60
7575 variables :
7676 - name : _BuildConfig
@@ -103,7 +103,7 @@ stages:
103103 artifact : ${{ parameters.appArtifactName }}_failed_$(System.JobAttempt)
104104
105105- stage : devicetests_ios
106- displayName : ${{ parameters.TargetFrameworkVersion }} iOS Helix Tests
106+ displayName : ${{ parameters.TargetFrameworkVersion }} iOS Helix Tests (Mono)
107107 dependsOn :
108108 - devicetests_build
109109 jobs :
@@ -125,7 +125,7 @@ stages:
125125 clean : all
126126 jobs :
127127 - job : device_tests_ios
128- displayName : Run DeviceTests iOS
128+ displayName : Run DeviceTests iOS (Mono)
129129 timeoutInMinutes : 240
130130 variables :
131131 - name : _BuildConfig
@@ -153,7 +153,7 @@ stages:
153153 XUnitWorkItemTimeout : 04:00:00
154154
155155- stage : devicetests_catalyst
156- displayName : ${{ parameters.TargetFrameworkVersion }} MacCatalyst Helix Tests
156+ displayName : ${{ parameters.TargetFrameworkVersion }} MacCatalyst Helix Tests (Mono)
157157 dependsOn :
158158 - devicetests_build
159159 jobs :
@@ -175,7 +175,7 @@ stages:
175175 clean : all
176176 jobs :
177177 - job : device_tests_maccatalyst
178- displayName : Run DeviceTests MacCatalyst
178+ displayName : Run DeviceTests MacCatalyst (Mono)
179179 timeoutInMinutes : 60
180180 variables :
181181 - name : _BuildConfig
@@ -201,7 +201,7 @@ stages:
201201 DisplayNamePrefix : DeviceTestsMacCatalyst
202202
203203- stage : devicetests_android
204- displayName : ${{ parameters.TargetFrameworkVersion }} Android Helix Tests
204+ displayName : ${{ parameters.TargetFrameworkVersion }} Android Helix Tests (Mono)
205205 dependsOn :
206206 - devicetests_build
207207 jobs :
@@ -223,7 +223,7 @@ stages:
223223 clean : all
224224 jobs :
225225 - job : device_tests_android
226- displayName : Run DeviceTests Android
226+ displayName : Run DeviceTests Android (Mono)
227227 timeoutInMinutes : 60
228228 variables :
229229 - name : _BuildConfig
@@ -247,3 +247,106 @@ stages:
247247 HelixConfiguration : $(_BuildConfig)
248248 IncludeDotNetCli : true
249249 DisplayNamePrefix : DeviceTestsAndroid
250+
251+ # CoreCLR Device Tests Stages (Android only)
252+ - stage : devicetests_build_coreclr
253+ displayName : ${{ parameters.TargetFrameworkVersion }} Android CoreCLR Helix Tests
254+ dependsOn : []
255+ jobs :
256+ - template : ${{ iif(eq(parameters.runAsPublic, 'true'), '/eng/common/templates/jobs/jobs.yml', '/eng/common/templates-official/jobs/jobs.yml@self') }}
257+ parameters :
258+ helixRepo : dotnet/maui
259+ pool : ${{ parameters.buildPool }}
260+ enableMicrobuild : ${{ parameters.enableMicrobuild }}
261+ enablePublishUsingPipelines : true
262+ enablePublishBuildAssets : ${{ parameters.publishAssets }}
263+ enableTelemetry : true
264+ enableSourceBuild : ${{ parameters.enableSourceBuild }}
265+ enableSourceIndex : ${{ parameters.enableSourceIndex }}
266+ sourceIndexParams : ${{ parameters.sourceIndexParams }}
267+ publishAssetsImmediately : true
268+ enablePublishBuildArtifacts : true
269+ enablePublishTestResults : false
270+ workspace :
271+ clean : all
272+ jobs :
273+ - job : builddevice_tests_coreclr
274+ displayName : Build Device Tests (CoreCLR)
275+ timeoutInMinutes : 60
276+ variables :
277+ - name : _BuildConfig
278+ value : ${{ parameters.BuildConfiguration }}
279+ preSteps :
280+ - checkout : self
281+ fetchDepth : 1
282+ clean : true
283+
284+ steps :
285+ - ${{ each step in parameters.prepareSteps }} :
286+ - ${{ each pair in step }} :
287+ ${{ pair.key }} : ${{ pair.value }}
288+
289+ # Run on public pipeline
290+ - script : $(_buildScriptMacOS) -restore -build -configuration $(_BuildConfig) -projects '$(Build.SourcesDirectory)/Microsoft.Maui.BuildTasks.slnf' /bl:BuildBuildTasks.binlog $(_OfficialBuildIdArgs)
291+ displayName : Build BuildTasks
292+
293+ - script : $(_buildScriptMacOS) -restore -build -configuration $(_BuildConfig) /p:BuildDeviceTests=true /p:UseMonoRuntime=false /p:IncludeIosTargetFrameworks=false /p:IncludeMacCatalystTargetFrameworks=false /bl:BuildDeviceTests.binlog
294+ displayName : Build DeviceTests (CoreCLR)
295+
296+ - publish : ${{ parameters.checkoutDirectory }}/artifacts/bin
297+ displayName : Publish Succeeded Artifacts Directory
298+ condition : succeeded()
299+ artifact : ${{ parameters.appArtifactName }}_coreclr
300+
301+ - publish : ${{ parameters.checkoutDirectory }}/artifacts/bin
302+ displayName : Publish Failed Artifacts Directory
303+ condition : not(succeeded())
304+ artifact : ${{ parameters.appArtifactName }}_coreclr_failed_$(System.JobAttempt)
305+
306+ - stage : devicetests_android_coreclr
307+ displayName : ${{ parameters.TargetFrameworkVersion }} Android CoreCLR Helix Tests
308+ dependsOn :
309+ - devicetests_build_coreclr
310+ jobs :
311+ - template : ${{ iif(eq(parameters.runAsPublic, 'true'), '/eng/common/templates/jobs/jobs.yml', '/eng/common/templates-official/jobs/jobs.yml@self') }}
312+ parameters :
313+ helixRepo : dotnet/maui
314+ pool : ${{ parameters.buildPool }}
315+ enableMicrobuild : ${{ parameters.enableMicrobuild }}
316+ enablePublishUsingPipelines : true
317+ enablePublishBuildAssets : ${{ parameters.publishAssets }}
318+ enableTelemetry : true
319+ enableSourceBuild : ${{ parameters.enableSourceBuild }}
320+ enableSourceIndex : ${{ parameters.enableSourceIndex }}
321+ sourceIndexParams : ${{ parameters.sourceIndexParams }}
322+ publishAssetsImmediately : true
323+ enablePublishBuildArtifacts : true
324+ enablePublishTestResults : false
325+ workspace :
326+ clean : all
327+ jobs :
328+ - job : device_tests_android_coreclr
329+ displayName : Run DeviceTests Android (CoreCLR)
330+ timeoutInMinutes : 60
331+ variables :
332+ - name : _BuildConfig
333+ value : ${{ parameters.BuildConfiguration }}
334+ preSteps :
335+ - checkout : self
336+ fetchDepth : 1
337+ clean : true
338+
339+ - task : DownloadPipelineArtifact@2
340+ displayName : ' Download Build'
341+ condition : succeeded()
342+ inputs :
343+ artifactName : ${{ parameters.appArtifactName }}_coreclr
344+ targetPath : ${{ parameters.checkoutDirectory }}/artifacts/bin
345+
346+ - template : ${{ iif(eq(parameters.runAsPublic, 'true'), '/eng/common/templates/steps/send-to-helix.yml', '/eng/common/templates-official/steps/send-to-helix.yml@self') }}
347+ parameters :
348+ HelixProjectPath : ${{ parameters.helixProject }}
349+ HelixProjectArguments : /p:TargetOS=android /p:TestRunNameSuffix="_$(_BuildConfig)_CoreCLR" /p:TestRunNamePrefix="DeviceTestsAndroid_CoreCLR_"
350+ HelixConfiguration : $(_BuildConfig)
351+ IncludeDotNetCli : true
352+ DisplayNamePrefix : DeviceTestsAndroid_CoreCLR
0 commit comments