From 2a013310d66cc157d3e0dcc27f1a3879d403f7bf Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Mon, 3 Nov 2025 17:26:44 +0100 Subject: [PATCH 1/5] Add runtime and library tests for Apple mobile on CoreCLR --- .../runtime-extra-platforms-ioslike.yml | 48 ++++++++++++++++++- ...ntime-extra-platforms-ioslikesimulator.yml | 47 +++++++++++++++++- .../runtime-extra-platforms-maccatalyst.yml | 47 +++++++++++++++++- src/libraries/tests.proj | 1 - 4 files changed, 136 insertions(+), 7 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml index db7d2cbc33a0cd..4ac5ca18dbb2b6 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml @@ -168,7 +168,51 @@ jobs: buildAllTestsAsStandalone: true # -# Build the whole product using CoreCLR and run functional tests +# Build the whole product using CoreCLR and run runtime tests +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + buildConfig: Checked + runtimeFlavor: coreclr + isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} + isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }} + platforms: + - ios_arm64 + - tvos_arm64 + variables: + - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: pr/dotnet/runtime/$(Build.SourceBranch) + - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: ci/dotnet/runtime/$(Build.SourceBranch) + - name: timeoutPerTestInMinutes + value: 60 + - name: timeoutPerTestCollectionInMinutes + value: 180 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_CoreCLR_RuntimeTests + buildArgs: -s clr+libs -c $(_BuildConfig) + timeoutInMinutes: 240 + # extra steps, run tests + extraVariablesTemplates: + - template: /eng/pipelines/common/templates/runtimes/test-variables.yml + parameters: + testGroup: innerloop + postBuildSteps: + - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml + parameters: + creator: dotnet-bot + testBuildArgs: /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=true + compileOnHelix: true + testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true + +# +# Build the whole product using CoreCLR and run library tests # - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -191,7 +235,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR - buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true + buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false $(_runSmokeTestsOnlyArg) /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false timeoutInMinutes: 120 # extra steps, run tests postBuildSteps: diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml index cd2a7331de258b..bb3900414fc3df 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml @@ -135,7 +135,50 @@ jobs: buildAllTestsAsStandalone: true # -# Build the whole product using CoreCLR and run functional tests +# Build the whole product using CoreCLR and run runtime tests +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + buildConfig: Checked + runtimeFlavor: coreclr + isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} + isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }} + platforms: + - iossimulator_arm64 + variables: + - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: pr/dotnet/runtime/$(Build.SourceBranch) + - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: ci/dotnet/runtime/$(Build.SourceBranch) + - name: timeoutPerTestInMinutes + value: 60 + - name: timeoutPerTestCollectionInMinutes + value: 180 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_CoreCLR_RuntimeTests + buildArgs: -s clr+libs -c $(_BuildConfig) + timeoutInMinutes: 240 + # extra steps, run tests + extraVariablesTemplates: + - template: /eng/pipelines/common/templates/runtimes/test-variables.yml + parameters: + testGroup: innerloop + postBuildSteps: + - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml + parameters: + creator: dotnet-bot + testBuildArgs: /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=true + compileOnHelix: true + testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true + +# +# Build the whole product using CoreCLR and run library tests # - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -158,7 +201,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR - buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:RunSmokeTestsOnly=true + buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false timeoutInMinutes: 120 # extra steps, run tests postBuildSteps: diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml index 127e3276eb6f4e..939055d9b16ee7 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml @@ -204,7 +204,50 @@ jobs: testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig) # -# Build the whole product using CoreCLR and run functional tests +# Build the whole product using CoreCLR and run runtime tests +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + buildConfig: Checked + runtimeFlavor: coreclr + isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} + isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }} + platforms: + - maccatalyst_x64 + - maccatalyst_arm64 + variables: + - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: pr/dotnet/runtime/$(Build.SourceBranch) + - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: ci/dotnet/runtime/$(Build.SourceBranch) + - name: timeoutPerTestInMinutes + value: 60 + - name: timeoutPerTestCollectionInMinutes + value: 180 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_CoreCLR_RuntimeTests + buildArgs: -s clr+libs -c $(_BuildConfig) + timeoutInMinutes: 240 + # extra steps, run tests + extraVariablesTemplates: + - template: /eng/pipelines/common/templates/runtimes/test-variables.yml + parameters: + testGroup: innerloop + postBuildSteps: + - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml + parameters: + creator: dotnet-bot + testBuildArgs: /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false + compileOnHelix: true + testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + +# +# Build the whole product using CoreCLR and run library tests # - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -227,7 +270,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR - buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true + buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false timeoutInMinutes: 120 # extra steps, run tests postBuildSteps: diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 4e1ebbba26b793..fa44aae1a67dbd 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -618,7 +618,6 @@ - From 9ccc2f34a78621fb72d1994e177dcce289ac31fa Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Mon, 3 Nov 2025 17:29:12 +0100 Subject: [PATCH 2/5] Add #121237 --- src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets | 1 + src/tests/build.proj | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets b/src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets index d3530276ad1291..52dedb172afffb 100644 --- a/src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets +++ b/src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets @@ -24,6 +24,7 @@ Copyright (c) .NET Foundation. All rights reserved. false true 1 + false