Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions eng/pipelines/common/evaluate-default-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,17 @@ jobs:
- eng/pipelines/coreclr/*
- eng/pipelines/libraries/*

- subset: mono_aot_llvm
include:
- src/mono/mono/mini/aot-*.*
- src/mono/mono/mini/llvm-*.*
- src/mono/mono/mini/mini-llvm-*.*
- src/mono/mono/mini/intrinsics.c
- src/mono/mono/mini/simd-*.*
- src/mono/mono/mini/decompose.c
- src/mono/mono/mini/method-to-ir.c
- src/mono/mono/mini/mini.c

- subset: libraries
exclude:
- eng/Version.Details.xml
Expand Down
2 changes: 2 additions & 0 deletions eng/pipelines/common/variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ variables:
value: ${{ in(variables['Build.DefinitionName'], 'runtime-maccatalyst') }}
- name: isLinuxBionicOnlyBuild
value: ${{ in(variables['Build.DefinitionName'], 'runtime-linuxbionic') }}
- name: isLLVMOnlyBuild
value: ${{ in(variables['Build.DefinitionName'], 'runtime-llvm') }}
- name: isRunSmokeTestsOnly
value: ${{ notin(variables['Build.DefinitionName'], 'runtime-extra-platforms', 'runtime-wasm', 'runtime-wasm-libtests', 'runtime-wasm-non-libtests', 'runtime-ioslike', 'runtime-ioslikesimulator', 'runtime-android', 'runtime-androidemulator', 'runtime-maccatalyst', 'runtime-linuxbionic') }}
- name: isNotSpecificPlatformOnlyBuild
Expand Down
16 changes: 16 additions & 0 deletions eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ jobs:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true
# Run the job when triggered via runtime-ioslike, runtime-extra-platforms, or on PRs containing Mono AOT LLVM changes
condition: >-
or(
or(eq(variables['isiOSLikeOnlyBuild'], true), eq(variables['isExtraPlatformsBuild'], true)),
and(eq(variables['isRollingBuild'], false), eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_aot_llvm.containsChange'], true))
)

#
# iOS/tvOS devices
Expand Down Expand Up @@ -96,6 +102,12 @@ jobs:
testBuildArgs: /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildTestsOnHelix=true
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true
# Run the job when triggered via runtime-ioslike, runtime-extra-platforms, or on PRs containing Mono AOT LLVM changes
condition: >-
or(
or(eq(variables['isiOSLikeOnlyBuild'], true), eq(variables['isExtraPlatformsBuild'], true)),
and(eq(variables['isRollingBuild'], false), eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_aot_llvm.containsChange'], true))
)

#
# iOS/tvOS devices
Expand Down Expand Up @@ -130,6 +142,8 @@ jobs:
creator: dotnet-bot
testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig)
extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true
# Run the job when triggered via runtime-ioslike, runtime-extra-platforms
condition: or(eq(variables['isiOSLikeOnlyBuild'], true), eq(variables['isExtraPlatformsBuild'], true))

#
# Build the whole product using NativeAOT for iOS/tvOS and run runtime tests with iOS/tvOS devices
Expand Down Expand Up @@ -167,3 +181,5 @@ jobs:
testBuildArgs: tree nativeaot/SmokeTests /p:BuildNativeAOTRuntimePack=true
testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig)
buildAllTestsAsStandalone: true
# Run the job when triggered via runtime-ioslike, runtime-extra-platforms
condition: or(eq(variables['isiOSLikeOnlyBuild'], true), eq(variables['isExtraPlatformsBuild'], true))
189 changes: 189 additions & 0 deletions eng/pipelines/extra-platforms/runtime-extra-platforms-llvm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
# This contains only Mono LLVM AOT jobs
# These are run as part of runtime-llvm by default.

parameters:
isLLVMOnlyBuild: false
isRollingBuild: false

jobs:

#
# Build Mono and Installer on LLVMAOT mode
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Release
runtimeFlavor: mono
platforms:
- linux_x64
- linux_arm64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isRollingBuild'], true))



- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
runtimeFlavor: mono
platforms:
- osx_x64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isRollingBuild'], true))

- 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: Release
runtimeFlavor: mono
platforms:
- linux_x64
# Tracking issue: https://github.com/dotnet/runtime/issues/90427
#- linux_arm64
variables:
- name: timeoutPerTestInMinutes
value: 60
- name: timeoutPerTestCollectionInMinutes
value: 180
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT_RuntimeTests
runtimeVariant: llvmaot
buildArgs: -s mono+libs+clr.hosts+clr.iltools -c $(_BuildConfig) /p:MonoEnableLLVM=true
timeoutInMinutes: 360
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isRollingBuild'], true))
postBuildSteps:
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
parameters:
creator: dotnet-bot
llvmAotStepContainer: linux_x64_llvmaot
testRunNamePrefixSuffix: Mono_Release
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml

#
# Mono CoreCLR runtime Test executions using live libraries and LLVM Full AOT
# Only when Mono is changed
# This job runs non-intrinsics runtime tests due to OOM issues
#
- 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: Release
runtimeFlavor: mono
platforms:
- linux_x64
# Tracking issue: https://github.com/dotnet/runtime/issues/90427
# - linux_arm64
variables:
- name: timeoutPerTestInMinutes
value: 60
- name: timeoutPerTestCollectionInMinutes
value: 180
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMFULLAOT_RuntimeTests
runtimeVariant: llvmfullaot
buildArgs: -s mono+libs+clr.hosts+clr.iltools -c $(_BuildConfig) /p:MonoEnableLLVM=true
timeoutInMinutes: 400
# Run the job when triggered via runtime-ioslike, runtime-extra-platforms, or on PRs containing Mono AOT LLVM changes
condition: >-
or(
and(
eq(variables['isLLVMOnlyBuild'], true),
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true)
)
),
and(eq(variables['isRollingBuild'], false), eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_aot_llvm.containsChange'], true)),
eq(variables['isRollingBuild'], true))
postBuildSteps:
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
parameters:
creator: dotnet-bot
llvmAotStepContainer: linux_x64_llvmaot
testRunNamePrefixSuffix: Mono_Release
testBuildArgs: >-
-tree:CoreMangLib -tree:Exceptions -tree:GC -tree:Interop -tree:Loader -tree:Regressions -tree:baseservices
-tree:ilasm -tree:ilverify -tree:managed -tree:profiler -tree:readytorun -tree:reflection -tree:tracing
-tree:JIT/BBT -tree:JIT/CodeGenBringUpTests -tree:JIT/Directed -tree:JIT/Generics -tree:JIT/IL_Conformance
-tree:JIT/Math -tree:JIT/Methodical -tree:JIT/PGO -tree:JIT/Performance -tree:JIT/Regression -tree:JIT/RyuJIT
-tree:JIT/Stress -tree:JIT/common -tree:JIT/jit64 -tree:JIT/opt -tree:JIT/superpmi
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml

#
# Mono CoreCLR runtime Test executions using live libraries and LLVM Full AOT
# Only when Mono is changed
# This job runs the runtime intrinsics tests due to OOM issues
#
- 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: Release
runtimeFlavor: mono
platforms:
- linux_x64
# Tracking issue: https://github.com/dotnet/runtime/issues/90427
# - linux_arm64
variables:
- name: timeoutPerTestInMinutes
value: 60
- name: timeoutPerTestCollectionInMinutes
value: 180
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMFULLAOT_RuntimeIntrinsicsTests
runtimeVariant: llvmfullaot
buildArgs: -s mono+libs+clr.hosts+clr.iltools -c $(_BuildConfig) /p:MonoEnableLLVM=true
timeoutInMinutes: 400
# Run the job when triggered via runtime-llvm, rolling builds, or on PRs containing Mono AOT LLVM changes
condition: >-
or(
and(
eq(variables['isLLVMOnlyBuild'], true),
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true)
)
),
and(eq(variables['isRollingBuild'], false), eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_aot_llvm.containsChange'], true)),
eq(variables['isRollingBuild'], true))
postBuildSteps:
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
parameters:
creator: dotnet-bot
llvmAotStepContainer: linux_x64_llvmaot
testRunNamePrefixSuffix: Mono_Release
testBuildArgs: -tree:JIT/Intrinsics -tree:JIT/HardwareIntrinsics -tree:JIT/SIMD
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml
18 changes: 0 additions & 18 deletions eng/pipelines/runtime-ioslike.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,6 @@

trigger: none

# To reduce the load on the pipeline, enable it only for PRs that affect Mono LLVM related code.
pr:
branches:
include:
- main
- release/*.*

paths:
include:
- src/mono/mono/mini/aot-*.*
- src/mono/mono/mini/llvm-*.*
- src/mono/mono/mini/mini-llvm-*.*
- src/mono/mono/mini/intrinsics.c
- src/mono/mono/mini/simd-*.*
- src/mono/mono/mini/decompose.c
- src/mono/mono/mini/method-to-ir.c
- src/mono/mono/mini/mini.c

variables:
- template: /eng/pipelines/common/variables.yml

Expand Down
Loading
Loading