Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wip][mono][tests] Fix Mono AOT compiler failing build on linux-arm64 #89182

Closed
wants to merge 14 commits into from
2 changes: 1 addition & 1 deletion eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@
</ItemGroup>

<!-- Mono sets -->
<ItemGroup Condition="$(_subset.Contains('+mono.llvm+')) or $(_subset.Contains('+mono.aotcross+')) or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'android' or '$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi' or '$(TargetsLinuxBionic)' == 'true'">
<ItemGroup Condition="$(_subset.Contains('+mono.llvm+')) or $(_subset.Contains('+mono.aotcross+')) or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'android' or '$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi' or '$(TargetsLinuxBionic)' == 'true' or '$(TargetOS)' == 'linux'">
<ProjectToBuild Include="$(MonoProjectRoot)llvm\llvm-init.proj" Category="mono" />
</ItemGroup>

Expand Down
262 changes: 131 additions & 131 deletions eng/pipelines/global-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,140 +40,140 @@ extends:
- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- template: /eng/pipelines/common/evaluate-default-paths.yml

#
# Build with Release config and Debug runtimeConfiguration
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: release
platforms:
- windows_x86
- osx_x64
- osx_arm64
jobParameters:
testGroup: innerloop
nameSuffix: Runtime_Debug
buildArgs: -c release -runtimeConfiguration debug
timeoutInMinutes: 120
condition:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))
# #
# # Build with Release config and Debug runtimeConfiguration
# #
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# buildConfig: release
# platforms:
# - windows_x86
# - osx_x64
# - osx_arm64
# jobParameters:
# testGroup: innerloop
# nameSuffix: Runtime_Debug
# buildArgs: -c release -runtimeConfiguration debug
# timeoutInMinutes: 120
# condition:
# or(
# eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
# eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
# eq(variables['isRollingBuild'], true))

#
# Build with Release config and runtimeConfiguration with MSBuild generator
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: release
platforms:
- windows_x86
jobParameters:
testGroup: innerloop
nameSuffix: MSBuild_CMake
buildArgs: -c Release -msbuild
timeoutInMinutes: 120
condition:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))
# #
# # Build with Release config and runtimeConfiguration with MSBuild generator
# #
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# buildConfig: release
# platforms:
# - windows_x86
# jobParameters:
# testGroup: innerloop
# nameSuffix: MSBuild_CMake
# buildArgs: -c Release -msbuild
# timeoutInMinutes: 120
# condition:
# or(
# eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
# eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
# eq(variables['isRollingBuild'], true))

#
# Build with Debug config and Release runtimeConfiguration
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- linux_x64_dev_innerloop
jobParameters:
testGroup: innerloop
nameSuffix: Runtime_Release
buildArgs: -c debug -runtimeConfiguration release
timeoutInMinutes: 120
condition:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))
# #
# # Build with Debug config and Release runtimeConfiguration
# #
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# buildConfig: debug
# platforms:
# - linux_x64_dev_innerloop
# jobParameters:
# testGroup: innerloop
# nameSuffix: Runtime_Release
# buildArgs: -c debug -runtimeConfiguration release
# timeoutInMinutes: 120
# condition:
# or(
# eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
# eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
# eq(variables['isRollingBuild'], true))

#
# Build with RuntimeFlavor only. This exercise code paths where only RuntimeFlavor is
# specified. Catches cases where we depend on Configuration also being specified
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- linux_x64_dev_innerloop
jobParameters:
testGroup: innerloop
nameSuffix: RuntimeFlavor_Mono
buildArgs: /p:RuntimeFlavor=Mono
timeoutInMinutes: 120
condition:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))
# #
# # Build with RuntimeFlavor only. This exercise code paths where only RuntimeFlavor is
# # specified. Catches cases where we depend on Configuration also being specified
# #
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# buildConfig: debug
# platforms:
# - linux_x64_dev_innerloop
# jobParameters:
# testGroup: innerloop
# nameSuffix: RuntimeFlavor_Mono
# buildArgs: /p:RuntimeFlavor=Mono
# timeoutInMinutes: 120
# condition:
# or(
# eq(dependencies.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
# eq(variables['isRollingBuild'], true))

#
# Build Mono + Libraries. This exercises the code path where we build libraries without
# first building CoreCLR
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- windows_x64
jobParameters:
testGroup: innerloop
nameSuffix: Mono_Libraries
buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono
timeoutInMinutes: 120
condition:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))
# #
# # Build Mono + Libraries. This exercises the code path where we build libraries without
# # first building CoreCLR
# #
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# buildConfig: debug
# platforms:
# - windows_x64
# jobParameters:
# testGroup: innerloop
# nameSuffix: Mono_Libraries
# buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono
# timeoutInMinutes: 120
# condition:
# or(
# eq(dependencies.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
# eq(variables['isRollingBuild'], true))

#
# Build Libraries AllConfigurations. This exercises the code path where we build libraries for all
# configurations on a non Windows operating system.
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- linux_x64_dev_innerloop
jobParameters:
nameSuffix: Libraries_AllConfigurations
buildArgs: -subset libs -allconfigurations
timeoutInMinutes: 120
condition:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))
# #
# # Build Libraries AllConfigurations. This exercises the code path where we build libraries for all
# # configurations on a non Windows operating system.
# #
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# buildConfig: debug
# platforms:
# - linux_x64_dev_innerloop
# jobParameters:
# nameSuffix: Libraries_AllConfigurations
# buildArgs: -subset libs -allconfigurations
# timeoutInMinutes: 120
# condition:
# or(
# eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
# eq(variables['isRollingBuild'], true))

#
# SourceBuild Build
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Release
platforms:
- SourceBuild_linux_x64
jobParameters:
nameSuffix: PortableSourceBuild
extraStepsParameters:
name: SourceBuildPackages
timeoutInMinutes: 95
condition:
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true)
# #
# # SourceBuild Build
# #
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# buildConfig: Release
# platforms:
# - SourceBuild_linux_x64
# jobParameters:
# nameSuffix: PortableSourceBuild
# extraStepsParameters:
# name: SourceBuildPackages
# timeoutInMinutes: 95
# condition:
# eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true)
Loading