From 828e3c60e301c30590c16e9a2f8c8e7298725d61 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Mon, 4 May 2026 20:30:18 +0100 Subject: [PATCH 1/2] Add MachO composite Crossgen2 test jobs for OSX and plumb crossgen2OutputFormat param through pipelines --- .../build-runtime-tests-and-send-to-helix.yml | 2 ++ .../common/templates/runtimes/run-test-job.yml | 5 +++++ .../templates/runtimes/send-to-helix-step.yml | 2 ++ eng/pipelines/coreclr/crossgen2-composite.yml | 17 +++++++++++++++++ eng/pipelines/coreclr/crossgen2-outerloop.yml | 17 +++++++++++++++++ src/tests/Common/helixpublishwitharcade.proj | 3 +++ 6 files changed, 46 insertions(+) diff --git a/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml b/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml index f88692190cc221..34e69d1e99baa3 100644 --- a/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml +++ b/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml @@ -7,6 +7,7 @@ parameters: crossBuild: false readyToRun: false compositeBuildMode: false + crossgen2OutputFormat: '' helixQueues: '' displayNameArgs: '' runInUnloadableContext: false @@ -115,6 +116,7 @@ steps: timeoutPerTestCollectionInMinutes: $(timeoutPerTestCollectionInMinutes) runCrossGen2: ${{ eq(parameters.readyToRun, true) }} compositeBuildMode: ${{ parameters.compositeBuildMode }} + crossgen2OutputFormat: ${{ parameters.crossgen2OutputFormat }} runInUnloadableContext: ${{ parameters.runInUnloadableContext }} nativeAotTest: ${{ parameters.nativeAotTest }} helixProjectArguments: '$(Build.SourcesDirectory)/src/tests/Common/helixpublishwitharcade.proj' diff --git a/eng/pipelines/common/templates/runtimes/run-test-job.yml b/eng/pipelines/common/templates/runtimes/run-test-job.yml index 34351420b99805..10de7d574851b9 100644 --- a/eng/pipelines/common/templates/runtimes/run-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/run-test-job.yml @@ -11,6 +11,7 @@ parameters: hotColdSplitting: false liveLibrariesBuildConfig: '' compositeBuildMode: false + crossgen2OutputFormat: '' largeVersionBubble: false useCodeFlowEnforcement: '' helixQueues: '' @@ -127,6 +128,9 @@ jobs: value: 'composite' - name: LogNamePrefix value: TestRunLogs_R2R_CG2_Composite + - ${{ if ne(parameters.crossgen2OutputFormat, '') }}: + - name: LogNamePrefix + value: TestRunLogs_R2R_CG2_${{ parameters.crossgen2OutputFormat }} - ${{ if eq(parameters.hotColdSplitting, true) }}: - name: LogNamePrefix value: TestRunLogs_R2R_CG2_HotColdSplitting @@ -316,6 +320,7 @@ jobs: timeoutPerTestCollectionInMinutes: $(timeoutPerTestCollectionInMinutes) runCrossGen2: ${{ eq(parameters.readyToRun, true) }} compositeBuildMode: ${{ parameters.compositeBuildMode }} + crossgen2OutputFormat: ${{ parameters.crossgen2OutputFormat }} runInUnloadableContext: ${{ parameters.runInUnloadableContext }} runInterpreter: ${{ parameters.runInterpreter }} tieringTest: ${{ parameters.tieringTest }} diff --git a/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml b/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml index 9e66956a3c2547..3e685ceb0265e9 100644 --- a/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml +++ b/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml @@ -18,6 +18,7 @@ parameters: timeoutPerTestInMinutes: '' runCrossGen2: '' compositeBuildMode: false + crossgen2OutputFormat: '' helixProjectArguments: '' extraHelixArguments: '' runInUnloadableContext: '' @@ -56,6 +57,7 @@ steps: _HelixType: ${{ parameters.helixType }} _RunCrossGen2: ${{ parameters.runCrossGen2 }} _CompositeBuildMode: ${{ parameters.compositeBuildMode }} + _CrossGen2OutputFormat: ${{ parameters.crossgen2OutputFormat }} _RunInUnloadableContext: ${{ parameters.runInUnloadableContext }} _RunInterpreter: ${{ parameters.runInterpreter }} _TieringTest: ${{ parameters.tieringTest }} diff --git a/eng/pipelines/coreclr/crossgen2-composite.yml b/eng/pipelines/coreclr/crossgen2-composite.yml index 23bb12d4af4d8f..d972a61ec2df78 100644 --- a/eng/pipelines/coreclr/crossgen2-composite.yml +++ b/eng/pipelines/coreclr/crossgen2-composite.yml @@ -98,3 +98,20 @@ extends: displayNameArgs: Composite_LargeVersionBubble liveLibrariesBuildConfig: Release unifiedArtifactsName: BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) + + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml + helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + buildConfig: checked + platforms: + - osx_arm64 + - osx_x64 + jobParameters: + testGroup: innerloop + readyToRun: true + compositeBuildMode: true + crossgen2OutputFormat: macho + displayNameArgs: Composite_MachO + liveLibrariesBuildConfig: Release + unifiedArtifactsName: BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)_MachO diff --git a/eng/pipelines/coreclr/crossgen2-outerloop.yml b/eng/pipelines/coreclr/crossgen2-outerloop.yml index eabaa7f34d5add..33f1348aa831c6 100644 --- a/eng/pipelines/coreclr/crossgen2-outerloop.yml +++ b/eng/pipelines/coreclr/crossgen2-outerloop.yml @@ -80,6 +80,23 @@ extends: liveLibrariesBuildConfig: Release unifiedArtifactsName: Checked_CoreCLR_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml + helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + buildConfig: checked + platforms: + - osx_arm64 + - osx_x64 + jobParameters: + testGroup: outerloop + readyToRun: true + compositeBuildMode: true + crossgen2OutputFormat: macho + displayNameArgs: R2R_Composite_MachO + liveLibrariesBuildConfig: Release + unifiedArtifactsName: Checked_CoreCLR_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)_MachO + # Outerloop testing in non-composite mode - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/src/tests/Common/helixpublishwitharcade.proj b/src/tests/Common/helixpublishwitharcade.proj index 81d86466cf1483..bad045e5b63f16 100644 --- a/src/tests/Common/helixpublishwitharcade.proj +++ b/src/tests/Common/helixpublishwitharcade.proj @@ -36,6 +36,7 @@ <_RunCrossGen>false <_RunCrossGen2>false <_CompositeBuildMode>false + <_CrossGen2OutputFormat> <_LongRunningGCTests>false <_GcSimulatorTests>false <_RunInUnloadableContext>false @@ -102,6 +103,7 @@ PublishTestResults=$(_PublishTestResults); RunCrossGen2=$(_RunCrossGen2); CompositeBuildMode=$(_CompositeBuildMode); + CrossGen2OutputFormat=$(_Crossgen2OutputFormat); LongRunningGCTests=$(_LongRunningGCTests); GcSimulatorTests=$(_GcSimulatorTests); RunInUnloadableContext=$(_RunInUnloadableContext); @@ -646,6 +648,7 @@ + From ac211aaaeec13578530c9b8a0863ba909cfebdaa Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 5 May 2026 09:33:21 +0100 Subject: [PATCH 2/2] Don't use MachO-suffixed artifact name --- eng/pipelines/coreclr/crossgen2-composite.yml | 2 +- eng/pipelines/coreclr/crossgen2-outerloop.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/coreclr/crossgen2-composite.yml b/eng/pipelines/coreclr/crossgen2-composite.yml index d972a61ec2df78..68498ac584f7f6 100644 --- a/eng/pipelines/coreclr/crossgen2-composite.yml +++ b/eng/pipelines/coreclr/crossgen2-composite.yml @@ -114,4 +114,4 @@ extends: crossgen2OutputFormat: macho displayNameArgs: Composite_MachO liveLibrariesBuildConfig: Release - unifiedArtifactsName: BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)_MachO + unifiedArtifactsName: BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) diff --git a/eng/pipelines/coreclr/crossgen2-outerloop.yml b/eng/pipelines/coreclr/crossgen2-outerloop.yml index 33f1348aa831c6..477f1797244f1f 100644 --- a/eng/pipelines/coreclr/crossgen2-outerloop.yml +++ b/eng/pipelines/coreclr/crossgen2-outerloop.yml @@ -95,7 +95,7 @@ extends: crossgen2OutputFormat: macho displayNameArgs: R2R_Composite_MachO liveLibrariesBuildConfig: Release - unifiedArtifactsName: Checked_CoreCLR_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)_MachO + unifiedArtifactsName: Checked_CoreCLR_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig) # Outerloop testing in non-composite mode - template: /eng/pipelines/common/platform-matrix.yml