From d1a60180902887eb61b5c0c0e5d20a3da23a275a Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Fri, 7 Feb 2025 19:05:51 +0100 Subject: [PATCH 1/9] Setup a new job --- ...untime-extra-platforms-androidemulator.yml | 32 +++++++++++++++++++ src/libraries/tests.proj | 20 ++++++++---- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml index 4badaf93186c0b..100ea51c0b343d 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml @@ -118,3 +118,35 @@ jobs: parameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) + +# +# Android emulators +# Build the whole product using CoreCLR and run libraries tests +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: CoreCLR + platforms: + - android_x64 + - android_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: coreclrContainsChange + value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_CoreCLR + isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} + buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests -cross -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) + timeoutInMinutes: 180 + # extra steps, run tests + postBuildSteps: + - template: /eng/pipelines/libraries/helix.yml + parameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index a71adb42e82b3e..79d4a588dbfd59 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -161,7 +161,7 @@ - + @@ -179,7 +179,7 @@ - + @@ -218,7 +218,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -261,7 +261,7 @@ - + @@ -723,7 +723,7 @@ BuildInParallel="false" /> - + + + + + + + Date: Fri, 7 Feb 2025 21:52:13 +0100 Subject: [PATCH 2/9] Remove -cross argument on linux --- .../extra-platforms/runtime-extra-platforms-androidemulator.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml index 100ea51c0b343d..0692ac890374b3 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml @@ -142,7 +142,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} - buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests -cross -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) + buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) timeoutInMinutes: 180 # extra steps, run tests postBuildSteps: From 6d38b257aa5045b2177e3e080a794119c2839ab3 Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Fri, 7 Feb 2025 22:28:22 +0100 Subject: [PATCH 3/9] Add android job to the runtime pipeline --- eng/pipelines/runtime.yml | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index f39bb89d3294fb..05daf679195238 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -964,6 +964,47 @@ extends: eq(variables['monoContainsChange'], true), eq(variables['isRollingBuild'], true)) + # + # Android devices + # Build the whole product using CoreCLR and run libraries tests + # + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: coreclr + platforms: + - android_x64 + - android_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: coreclrContainsChange + value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_CoreCLR + buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true + timeoutInMinutes: 480 + condition: >- + or( + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + postBuildSteps: + - template: /eng/pipelines/libraries/helix.yml + parameters: + creator: dotnet-bot + testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['coreclrContainsChange'], true), + eq(variables['isRollingBuild'], true)) + # # iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size # Build the whole product using Mono and run libraries tests From 956e00d74ba1d19c0d980b5f7e5d627e24fc834d Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Mon, 10 Feb 2025 13:12:43 +0100 Subject: [PATCH 4/9] Use android test exclusions --- src/libraries/tests.proj | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 79d4a588dbfd59..6960efacef921e 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -161,7 +161,7 @@ - + @@ -179,7 +179,7 @@ - + @@ -218,7 +218,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -261,7 +261,7 @@ - + @@ -723,7 +723,7 @@ BuildInParallel="false" /> - + - - - + Date: Mon, 10 Feb 2025 16:18:18 +0100 Subject: [PATCH 5/9] Remove included projects --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 6960efacef921e..7c0c6f66029522 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -760,6 +760,7 @@ + From 63cd36ed4fd9dabcf5e7e5802c5aba8385485c03 Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Mon, 10 Feb 2025 17:36:46 +0100 Subject: [PATCH 6/9] Remove unused attribute --- src/libraries/tests.proj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 7c0c6f66029522..faea2c8b05f4ca 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -762,7 +762,6 @@ From 388c6263750be5450e086659ba4c2769516e60cd Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Tue, 11 Feb 2025 22:32:13 +0100 Subject: [PATCH 7/9] Update eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml Co-authored-by: Ivan Povazan <55002338+ivanpovazan@users.noreply.github.com> --- .../extra-platforms/runtime-extra-platforms-androidemulator.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml index 0692ac890374b3..11d8d3091bb9a6 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml @@ -149,4 +149,4 @@ jobs: - template: /eng/pipelines/libraries/helix.yml parameters: creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) + testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) From 2cc39841e90a7f8ee4a86612603976703e8aa30f Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Tue, 11 Feb 2025 22:34:21 +0100 Subject: [PATCH 8/9] Update build command to include host+packs --- .../runtime-extra-platforms-androidemulator.yml | 4 ++-- eng/pipelines/runtime.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml index 11d8d3091bb9a6..51dd388ca52f7d 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml @@ -128,7 +128,7 @@ jobs: jobTemplate: /eng/pipelines/common/global-build-job.yml helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml buildConfig: Release - runtimeFlavor: CoreCLR + runtimeFlavor: coreclr platforms: - android_x64 - android_arm64 @@ -142,7 +142,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} - buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) + buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) timeoutInMinutes: 180 # extra steps, run tests postBuildSteps: diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 05daf679195238..4be3aaf704ef5f 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -986,7 +986,7 @@ extends: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR - buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true + buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs++libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true timeoutInMinutes: 480 condition: >- or( From 13dbb57e366248f72bcee676e9f6a3701de3cd04 Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Tue, 11 Feb 2025 22:39:05 +0100 Subject: [PATCH 9/9] Don't include test assemblies in coreclr andorid jobs --- .../extra-platforms/runtime-extra-platforms-androidemulator.yml | 2 +- eng/pipelines/runtime.yml | 2 +- src/libraries/tests.proj | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml index 51dd388ca52f7d..3b4e79cf9151c6 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml @@ -142,7 +142,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} - buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) + buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:TestAssemblies=false timeoutInMinutes: 180 # extra steps, run tests postBuildSteps: diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 4be3aaf704ef5f..32ad6ca764f7ba 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -986,7 +986,7 @@ extends: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR - buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs++libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true + buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs++libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:TestAssemblies=false timeoutInMinutes: 480 condition: >- or( diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index faea2c8b05f4ca..6ad0dcda0e92e3 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -760,7 +760,6 @@ -