From ce97c8118117378b9147c22646c115a5d81c6634 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 24 Apr 2023 14:07:22 -0700 Subject: [PATCH 1/4] Build Mono LLVM legs on the CBL-Mariner images, but run the AOTing steps on CentOS Stream 8 with binutils --- eng/pipelines/common/templates/pipeline-with-resources.yml | 2 +- .../runtimes/build-runtime-tests-and-send-to-helix.yml | 3 +++ .../extra-platforms/runtime-extra-platforms-other.yml | 1 + eng/pipelines/runtime-llvm.yml | 4 ++-- eng/pipelines/runtime.yml | 3 ++- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/common/templates/pipeline-with-resources.yml b/eng/pipelines/common/templates/pipeline-with-resources.yml index 4d6f8a22c6cc40..4be19364b5df94 100644 --- a/eng/pipelines/common/templates/pipeline-with-resources.yml +++ b/eng/pipelines/common/templates/pipeline-with-resources.yml @@ -67,7 +67,7 @@ resources: image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-gcc12-amd64 - container: linux_x64_llvmaot - image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 - container: browser_wasm image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-webassembly-net8-20230327150025-4404b5c 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 174832216912bd..da2cad2a2f9b8d 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 @@ -14,6 +14,7 @@ parameters: nativeAotTest: false runtimeFlavor: 'mono' runtimeVariant: 'monointerpreter' + llvmAotStepContainer: '' scenarios: - normal variables: {} @@ -57,9 +58,11 @@ steps: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" + container: coalsece(parameters.llvmAotStepContainer, parameters.container) - ${{ if eq(parameters.runtimeVariant, 'llvmfullaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" + container: coalsece(parameters.llvmAotStepContainer, parameters.container) - ${{ if eq(parameters.archType, 'arm64') }}: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} $(_monoAotCrossCompileArg) /p:RuntimeVariant=llvmfullaot -maxcpucount:2 diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml index 096579d9ff70ef..5d8f418949563b 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml @@ -287,6 +287,7 @@ jobs: extraStepsTemplate: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml extraStepsParameters: creator: dotnet-bot + llvmAotStepContainer: linux_x64_llvmaot testRunNamePrefixSuffix: Mono_Release extraVariablesTemplates: - template: /eng/pipelines/common/templates/runtimes/test-variables.yml diff --git a/eng/pipelines/runtime-llvm.yml b/eng/pipelines/runtime-llvm.yml index ea387f5ddcb6e1..e31e623a0353c8 100644 --- a/eng/pipelines/runtime-llvm.yml +++ b/eng/pipelines/runtime-llvm.yml @@ -176,7 +176,7 @@ extends: buildConfig: release runtimeFlavor: mono platforms: - - linux_x64 + - linux_x64_llvmaot # Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation #- linux_arm64 helixQueueGroup: pr @@ -202,7 +202,7 @@ extends: buildConfig: release runtimeFlavor: mono platforms: - - linux_x64 + - linux_x64_llvmaot - linux_arm64 helixQueueGroup: pr helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 3d8319f4188375..36a0b589f804b1 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -1210,7 +1210,7 @@ extends: buildConfig: Release runtimeFlavor: mono platforms: - - linux_x64_llvmaot + - linux_x64 # Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation #- linux_arm64 variables: @@ -1233,6 +1233,7 @@ extends: extraStepsTemplate: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml extraStepsParameters: creator: dotnet-bot + llvmAotStepContainer: linux_x64_llvmaot testRunNamePrefixSuffix: Mono_Release extraVariablesTemplates: - template: /eng/pipelines/common/templates/runtimes/test-variables.yml From 542b0ad981f7a312995be79f0229c7279d3cde2e Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 24 Apr 2023 14:16:39 -0700 Subject: [PATCH 2/4] Fix parameter name --- .../runtimes/build-runtime-tests-and-send-to-helix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 da2cad2a2f9b8d..aa53317d2a8697 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 @@ -58,11 +58,11 @@ steps: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" - container: coalsece(parameters.llvmAotStepContainer, parameters.container) + target: coalsece(parameters.llvmAotStepContainer, parameters.container) - ${{ if eq(parameters.runtimeVariant, 'llvmfullaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" - container: coalsece(parameters.llvmAotStepContainer, parameters.container) + target: coalsece(parameters.llvmAotStepContainer, parameters.container) - ${{ if eq(parameters.archType, 'arm64') }}: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} $(_monoAotCrossCompileArg) /p:RuntimeVariant=llvmfullaot -maxcpucount:2 From bb2fa99bf874fd90a44739f0124cb322ffa5130e Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 24 Apr 2023 15:10:38 -0700 Subject: [PATCH 3/4] Treat target parameter as template parameter --- .../runtimes/build-runtime-tests-and-send-to-helix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 aa53317d2a8697..7728491c903058 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 @@ -58,11 +58,11 @@ steps: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" - target: coalsece(parameters.llvmAotStepContainer, parameters.container) + target: ${{ coalsece(parameters.llvmAotStepContainer, parameters.container) }} - ${{ if eq(parameters.runtimeVariant, 'llvmfullaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" - target: coalsece(parameters.llvmAotStepContainer, parameters.container) + target: ${{ coalsece(parameters.llvmAotStepContainer, parameters.container) }} - ${{ if eq(parameters.archType, 'arm64') }}: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} $(_monoAotCrossCompileArg) /p:RuntimeVariant=llvmfullaot -maxcpucount:2 From 9dfe84015cd4c5564a31501c81dc0edfc162265a Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 24 Apr 2023 15:37:28 -0700 Subject: [PATCH 4/4] Fix typo --- .../runtimes/build-runtime-tests-and-send-to-helix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 7728491c903058..f1073500a44f54 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 @@ -58,11 +58,11 @@ steps: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" - target: ${{ coalsece(parameters.llvmAotStepContainer, parameters.container) }} + target: ${{ coalesce(parameters.llvmAotStepContainer, parameters.container) }} - ${{ if eq(parameters.runtimeVariant, 'llvmfullaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_fullaot ${{ parameters.buildConfig }} ${{ parameters.archType }} displayName: "LLVM AOT compile CoreCLR tests" - target: ${{ coalsece(parameters.llvmAotStepContainer, parameters.container) }} + target: ${{ coalesce(parameters.llvmAotStepContainer, parameters.container) }} - ${{ if eq(parameters.archType, 'arm64') }}: - ${{ if eq(parameters.runtimeVariant, 'llvmaot') }}: - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)MonoAot mono_aot ${{ parameters.buildConfig }} ${{ parameters.archType }} $(_monoAotCrossCompileArg) /p:RuntimeVariant=llvmfullaot -maxcpucount:2