From b0ab2b711ce175b9f84617476ff385cc87710a36 Mon Sep 17 00:00:00 2001 From: Maxim Lipnin Date: Fri, 28 Jan 2022 18:54:44 +0300 Subject: [PATCH 01/11] Move MacCatalyst to runtime-extra-platforms pipeline --- eng/pipelines/runtime-extra-platforms.yml | 92 +++++++++++++++++++++++ eng/pipelines/runtime-staging.yml | 88 ---------------------- 2 files changed, 92 insertions(+), 88 deletions(-) diff --git a/eng/pipelines/runtime-extra-platforms.yml b/eng/pipelines/runtime-extra-platforms.yml index a0642f4ab521c..882760990be73 100644 --- a/eng/pipelines/runtime-extra-platforms.yml +++ b/eng/pipelines/runtime-extra-platforms.yml @@ -368,6 +368,98 @@ jobs: eq(variables['monoContainsChange'], true), eq(variables['isRollingBuild'], true)) +# +# MacCatalyst interp - requires AOT Compilation and Interp flags +# Build the whole product using Mono 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: mono + platforms: + - MacCatalyst_x64 + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - MacCatalyst_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + interpreter: true + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) + +# +# MacCatalyst interp - requires AOT Compilation and Interp flags +# Build the whole product using Mono and run libraries tests +# The test app is built with the App Sandbox entitlement +# +- 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: mono + platforms: + - MacCatalyst_x64 + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - MacCatalyst_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_AppSandbox + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true /p:EnableAppSandbox=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + interpreter: true + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) + +# +# Android devices +# Build the whole product using Mono and run libraries tests +# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index c51d639d29f0f..ddf0ef67bece3 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -106,94 +106,6 @@ jobs: eq(variables['monoContainsChange'], true), eq(variables['isRollingBuild'], true)) -# -# MacCatalyst interp - requires AOT Compilation and Interp flags -# Build the whole product using Mono 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: mono - platforms: - - MacCatalyst_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - MacCatalyst_arm64 - variables: - # map dependencies variables to local variables - - name: librariesContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - - name: monoContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - interpreter: true - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isRollingBuild'], true)) - -# -# MacCatalyst interp - requires AOT Compilation and Interp flags -# Build the whole product using Mono and run libraries tests -# The test app is built with the App Sandbox entitlement -# -- 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: mono - platforms: - - MacCatalyst_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - MacCatalyst_arm64 - variables: - # map dependencies variables to local variables - - name: librariesContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - - name: monoContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_AppSandbox - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true /p:EnableAppSandbox=true - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - interpreter: true - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isRollingBuild'], true)) - # # Build the whole product using Mono and run libraries tests # From 7630898617a381f255743e5498e961647c4f2d3e Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 28 Jan 2022 18:07:29 -0500 Subject: [PATCH 02/11] Since MacCatalyst is moving out of runtime-staging, we'll need to add smoke tests to runtime.yml. Do the same to iOS_arm64 and tvOS_arm64 as they were missing previously. --- eng/pipelines/runtime-extra-platforms.yml | 7 +- eng/pipelines/runtime.yml | 84 +++++++++++++++++++++++ 2 files changed, 86 insertions(+), 5 deletions(-) diff --git a/eng/pipelines/runtime-extra-platforms.yml b/eng/pipelines/runtime-extra-platforms.yml index 882760990be73..8add5963f80f7 100644 --- a/eng/pipelines/runtime-extra-platforms.yml +++ b/eng/pipelines/runtime-extra-platforms.yml @@ -379,9 +379,7 @@ jobs: buildConfig: Release runtimeFlavor: mono platforms: - - MacCatalyst_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: + - MacCatalyst_x64 - MacCatalyst_arm64 variables: # map dependencies variables to local variables @@ -392,7 +390,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true timeoutInMinutes: 180 condition: >- or( @@ -404,7 +402,6 @@ jobs: extraStepsTemplate: /eng/pipelines/libraries/helix.yml extraStepsParameters: creator: dotnet-bot - interpreter: true testRunNamePrefixSuffix: Mono_$(_BuildConfig) condition: >- or( diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 9d3bbfe477d8e..83682d73186ff 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -387,6 +387,90 @@ jobs: eq(variables['monoContainsChange'], true), eq(variables['isRollingBuild'], true)) +# +# iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size +# Build the whole product using Mono 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: mono + platforms: + - iOS_arm64 + - tvOS_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) + +# +# MacCatalyst interp - requires AOT Compilation and Interp flags +# Build the whole product using Mono 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: mono + platforms: + - MacCatalyst_x64 + - ${{ if eq(variables['isRollingBuild'], true) }}: + - MacCatalyst_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) + # # Build the whole product using Mono and run libraries tests, for Wasm.Build.Tests # From e007d0f333ba1893204c86a4b5d81eeeaf3a4745 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Mon, 31 Jan 2022 11:33:49 -0500 Subject: [PATCH 03/11] Yml syntax --- eng/pipelines/runtime.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 83682d73186ff..50257d2d62712 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -440,7 +440,7 @@ jobs: buildConfig: Release runtimeFlavor: mono platforms: - - MacCatalyst_x64 + - MacCatalyst_x64 - ${{ if eq(variables['isRollingBuild'], true) }}: - MacCatalyst_arm64 variables: From 0d4e10f83c09b13c807e1825e7080fedcb8b1b7e Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Mon, 31 Jan 2022 11:43:13 -0500 Subject: [PATCH 04/11] More yml tweaks --- eng/pipelines/runtime.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 50257d2d62712..7705bee88c209 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -308,11 +308,8 @@ jobs: buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} runtimeFlavor: mono platforms: - - MacCatalyst_x64 - - MacCatalyst_arm64 - tvOSSimulator_x64 - iOSSimulator_x86 - - iOS_arm64 - Linux_arm jobParameters: testGroup: innerloop @@ -331,7 +328,6 @@ jobs: buildConfig: Release runtimeFlavor: mono platforms: - - tvOS_arm64 - iOS_arm - Linux_musl_x64 jobParameters: @@ -409,7 +405,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true + buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true timeoutInMinutes: 180 condition: >- or( From 13dbdfb31d4806b212bfd62ff145b1bdd76a293c Mon Sep 17 00:00:00 2001 From: Maxim Lipnin Date: Tue, 1 Feb 2022 20:06:36 +0300 Subject: [PATCH 05/11] Configure the ios sumulator functional tests for re-trying in case of failure --- eng/test-configuration.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eng/test-configuration.json b/eng/test-configuration.json index cf1804ac6dbd4..d8515de611e56 100644 --- a/eng/test-configuration.json +++ b/eng/test-configuration.json @@ -3,6 +3,8 @@ "defaultOnFailure": "fail", "localRerunCount": 2, "retryOnRules": [ - { "testAssembly": { "wildcard": "System.Net.*" } } + { "testAssembly": { "wildcard": "System.Net.*" } }, + { "testName": { "wildcard": "iOS.Simulator.*" } }, + { "testAssembly": { "wildcard": "iOS.Simulator.*" } } ] } From f78840b883181ae7b6654f1fca3df3f7f4260947 Mon Sep 17 00:00:00 2001 From: Maxim Lipnin Date: Wed, 2 Feb 2022 15:25:17 +0300 Subject: [PATCH 06/11] Revert test retry configuration as it didn't work for the functional tests --- eng/test-configuration.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/eng/test-configuration.json b/eng/test-configuration.json index d8515de611e56..cf1804ac6dbd4 100644 --- a/eng/test-configuration.json +++ b/eng/test-configuration.json @@ -3,8 +3,6 @@ "defaultOnFailure": "fail", "localRerunCount": 2, "retryOnRules": [ - { "testAssembly": { "wildcard": "System.Net.*" } }, - { "testName": { "wildcard": "iOS.Simulator.*" } }, - { "testAssembly": { "wildcard": "iOS.Simulator.*" } } + { "testAssembly": { "wildcard": "System.Net.*" } } ] } From d9e1d9a8647e0d0143370b2ae9eae8d7e2a60048 Mon Sep 17 00:00:00 2001 From: Maxim Lipnin Date: Wed, 9 Feb 2022 11:35:50 +0300 Subject: [PATCH 07/11] Put MacCatalyst leg definitions to runtime-extra-platforms-other.yml --- .../runtime-extra-platforms-other.yml | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/eng/pipelines/runtime-extra-platforms-other.yml b/eng/pipelines/runtime-extra-platforms-other.yml index 663cdf45bd880..1bae998bc030d 100644 --- a/eng/pipelines/runtime-extra-platforms-other.yml +++ b/eng/pipelines/runtime-extra-platforms-other.yml @@ -171,6 +171,94 @@ jobs: eq(variables['monoContainsChange'], true), eq(variables['isRollingBuild'], true)) +# +# MacCatalyst interp - requires AOT Compilation and Interp flags +# Build the whole product using Mono 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: mono + platforms: + - MacCatalyst_x64 + - MacCatalyst_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) +# +# MacCatalyst interp - requires AOT Compilation and Interp flags +# Build the whole product using Mono and run libraries tests +# The test app is built with the App Sandbox entitlement +# +- 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: mono + platforms: + - MacCatalyst_x64 + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - MacCatalyst_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_AppSandbox + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true /p:EnableAppSandbox=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + interpreter: true + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) + +# +# Android devices +# Build the whole product using Mono and run libraries tests +# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml From 2d292cb9cca609b9583907071f26140e881a428f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Wed, 9 Feb 2022 13:04:54 +0100 Subject: [PATCH 08/11] Bump arcade --- eng/Version.Details.xml | 76 ++++++++++++++++++++--------------------- eng/Versions.props | 32 ++++++++--------- global.json | 6 ++-- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d8cd6059bcf4f..cf77bb85cb1f9 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -50,77 +50,77 @@ - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 https://github.com/microsoft/vstest @@ -250,9 +250,9 @@ https://github.com/dotnet/xharness 6eee948fc9dbe516e54bff7d420c2881bd3b4eab - + https://github.com/dotnet/arcade - 70831f0d126fe88b81d7dc8de11358e17a5ce364 + d04363678ad90c4e705aaf9dec4f2cf2e3b2e300 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index e828e5e89067b..5df4a7068f7bc 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -57,22 +57,22 @@ 2.0.0-alpha.1.21525.11 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 2.5.1-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 - 7.0.0-beta.22103.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 2.5.1-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 + 7.0.0-beta.22104.1 6.0.0-preview.1.102 diff --git a/global.json b/global.json index 1ba0c7ba8b5d4..4448b23b94095 100644 --- a/global.json +++ b/global.json @@ -12,9 +12,9 @@ "python3": "3.7.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22103.1", - "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22103.1", - "Microsoft.DotNet.SharedFramework.Sdk": "7.0.0-beta.22103.1", + "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22104.1", + "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22104.1", + "Microsoft.DotNet.SharedFramework.Sdk": "7.0.0-beta.22104.1", "Microsoft.Build.NoTargets": "3.1.0", "Microsoft.Build.Traversal": "3.0.23", "Microsoft.NET.Sdk.IL": "7.0.0-preview.2.22103.2" From 03c73f166bbfa6d2dd6db3e1cb5ce7b0d73a0606 Mon Sep 17 00:00:00 2001 From: Maxim Lipnin Date: Wed, 9 Feb 2022 22:28:47 +0300 Subject: [PATCH 09/11] Leave MacCatalyst_arm64 in runtime-staging as it might not pass yet on OSX 11.00 queue --- .../runtime-extra-platforms-other.yml | 9 +- eng/pipelines/runtime-staging.yml | 90 +++++++++++++++++++ 2 files changed, 95 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/runtime-extra-platforms-other.yml b/eng/pipelines/runtime-extra-platforms-other.yml index 1bae998bc030d..6a5543f112391 100644 --- a/eng/pipelines/runtime-extra-platforms-other.yml +++ b/eng/pipelines/runtime-extra-platforms-other.yml @@ -183,7 +183,7 @@ jobs: runtimeFlavor: mono platforms: - MacCatalyst_x64 - - MacCatalyst_arm64 + # - MacCatalyst_arm64 # re-enable it here and remove from runtime-staging after it's stabilized on OSX 11.00 queue variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -224,9 +224,10 @@ jobs: runtimeFlavor: mono platforms: - MacCatalyst_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - MacCatalyst_arm64 + # re-enable MacCatalyst_arm64 here and remove from runtime-staging after it's stabilized on OSX 11.00 queue + # don't run tests on arm64 PRs until we can get significantly more device + # - ${{ if eq(variables['isRollingBuild'], true) }}: + # - MacCatalyst_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 5ff5ac65befde..2eb1ee489f6eb 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -106,6 +106,96 @@ jobs: eq(variables['monoContainsChange'], true), eq(variables['isRollingBuild'], true)) +# +# Remove it after MacCatalyst_arm64 is stabilized on OSX 11.00 queue. +# +# MacCatalyst interp - requires AOT Compilation and Interp flags +# Build the whole product using Mono 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: mono + platforms: + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - MacCatalyst_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + interpreter: true + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) + +# +# Remove it after MacCatalyst_arm64 is stabilized on OSX 11.00 queue. +# +# MacCatalyst interp - requires AOT Compilation and Interp flags +# Build the whole product using Mono and run libraries tests +# The test app is built with the App Sandbox entitlement +# +- 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: mono + platforms: + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - MacCatalyst_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_AppSandbox + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true /p:EnableAppSandbox=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(variables['isRollingBuild'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + interpreter: true + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isRollingBuild'], true)) + # # Build the whole product using Mono and run libraries tests # From 0d37f477eb0ff4b85d3434ef8ec4e87d1b6daa03 Mon Sep 17 00:00:00 2001 From: Maxim Lipnin Date: Mon, 14 Feb 2022 17:33:37 +0300 Subject: [PATCH 10/11] Skip System.Reflection.Emit.Tests.ILGeneratorEmit4.TestDynamicMethodEmitCalliNonBlittable test failing on MacCatalyst x64 --- .../tests/ILGenerator/Emit4Tests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs b/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs index 96aae7540ae3e..4b26164deedd6 100644 --- a/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs +++ b/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs @@ -142,6 +142,7 @@ public void TestEmitCalliNonBlittable() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/65304", TestPlatforms.MacCatalyst)] public void TestDynamicMethodEmitCalliNonBlittable() { string input = "Test string!", result = "!gnirts tseT"; From e83a3fd4b495291a95ef1b48a5a74d051f2a404e Mon Sep 17 00:00:00 2001 From: Maxim Lipnin Date: Tue, 15 Feb 2022 09:19:39 +0300 Subject: [PATCH 11/11] Revert skipping System.Reflection.Emit.Tests.ILGeneratorEmit4.TestDynamicMethodEmitCalliNonBlittable test on MacCatalyst x64 as the respective issue is addressed --- .../tests/ILGenerator/Emit4Tests.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs b/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs index 4b26164deedd6..96aae7540ae3e 100644 --- a/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs +++ b/src/libraries/System.Reflection.Emit.ILGeneration/tests/ILGenerator/Emit4Tests.cs @@ -142,7 +142,6 @@ public void TestEmitCalliNonBlittable() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/65304", TestPlatforms.MacCatalyst)] public void TestDynamicMethodEmitCalliNonBlittable() { string input = "Test string!", result = "!gnirts tseT";