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

[VMR] Enable building Mono Cross AOT verticals #44924

Merged
merged 5 commits into from
Nov 19, 2024
Merged
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
106 changes: 106 additions & 0 deletions eng/pipelines/templates/stages/vmr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -942,6 +942,64 @@ stages:
targetArchitecture: arm64
targetRid: ${{ variables.linuxMuslArm64Rid }}

- template: ../jobs/vmr-build.yml
parameters:
buildName: AzureLinux_x64_Cross_ShortStack_Alpine_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ variables.azurelinuxX64AlpineCrossContainer }}
crossRootFs: '/crossrootfs/x64'
targetOS: linux-musl
targetArchitecture: x64
targetRid: ${{ variables.linuxMuslX64Rid }}
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: AzureLinux_x64_Cross_ShortStack_Alpine_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool: ${{ parameters.pool_Linux }}
container: ${{ variables.azurelinuxArm64AlpineCrossContainer }}
crossRootFs: '/crossrootfs/arm64'
targetOS: linux-musl
targetArchitecture: arm64
targetRid: ${{ variables.linuxMuslX64Rid }}
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: AzureLinux_x64_Cross_ShortStack_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux_Shortstack }}
container: ${{ variables.azurelinuxX64CrossContainer }}
crossRootFs: '/crossrootfs/x64'
targetOS: linux
targetArchitecture: x64
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: AzureLinux_x64_Cross_ShortStack_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool: ${{ parameters.pool_Linux_Shortstack }}
container: ${{ variables.azurelinuxArm64CrossContainer }}
crossRootFs: '/crossrootfs/arm64'
targetOS: linux
targetArchitecture: arm64
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: AzureLinux_x64_Cross_ShortStack_Mono_LLVMAOT
Expand Down Expand Up @@ -993,6 +1051,30 @@ stages:
targetOS: osx
targetArchitecture: arm64

- template: ../jobs/vmr-build.yml
parameters:
buildName: OSX_ShortStack_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Mac }}
targetOS: osx
targetArchitecture: x64
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: OSX_ShortStack_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool: ${{ parameters.pool_Mac }}
targetOS: osx
targetArchitecture: arm64
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: OSX_ShortStack_Mono_LLVMJIT
Expand Down Expand Up @@ -1051,6 +1133,30 @@ stages:
targetOS: windows
targetArchitecture: x64

- template: ../jobs/vmr-build.yml
parameters:
buildName: Windows_ShortStack_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Windows }}
targetOS: windows
targetArchitecture: x64
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: Windows_ShortStack_Mono_CrossAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool: ${{ parameters.pool_Windows }}
targetOS: windows
targetArchitecture: arm64
extraProperties: /p:DotNetBuildMonoCrossAOT=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: Windows
Expand Down
4 changes: 3 additions & 1 deletion src/SourceBuild/content/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<HostOS Condition="'$(HostOS)' == ''">$(TargetOS)</HostOS>
</PropertyGroup>

<!-- This is a list of cases where we aren't producing a whole SDK, just a runtime. This list should be kept in sync with https://github.com/dotnet/runtime/blob/main/eng/SourceBuild.props#L26 -->
<!-- This is a list of cases where we aren't producing a whole SDK, just a runtime. This list should be kept in sync with https://github.com/dotnet/runtime/blob/main/eng/DotNetBuild.props#L26 -->
<PropertyGroup Label="ShortStacks">
<ShortStack Condition="'$(TargetOS)' == 'wasi'">true</ShortStack>
<ShortStack Condition="'$(TargetOS)' == 'browser'">true</ShortStack>
Expand All @@ -34,6 +34,8 @@
<ShortStack Condition="'$(TargetOS)' == 'osx' and '$(DotNetBuildRuntimeNativeAOTRuntimePack)' == 'true'">true</ShortStack>
<!-- Mono LLVM builds are short -->
<ShortStack Condition="'$(MonoEnableLLVM)' == 'true' or '$(MonoAOTEnableLLVM)' == 'true'">true</ShortStack>
<!-- Mono AOT cross compiler builds are short -->
<ShortStack Condition="'$(DotNetBuildMonoCrossAOT)' == 'true'">true</ShortStack>
<!-- Short stack builds stop at runtime, not the whole SDK -->
<RootRepo Condition="'$(ShortStack)' == 'true'">runtime</RootRepo>
</PropertyGroup>
Expand Down
1 change: 1 addition & 0 deletions src/SourceBuild/content/repo-projects/runtime.proj
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<BuildArgs Condition="'$(DotNetBuildMonoEnableLLVM)' != ''">$(BuildArgs) /p:DotNetBuildMonoEnableLLVM=$(DotNetBuildMonoEnableLLVM)</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildMonoAOTEnableLLVM)' != ''">$(BuildArgs) /p:DotNetBuildMonoAOTEnableLLVM=$(DotNetBuildMonoAOTEnableLLVM)</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildMonoBundleLLVMOptimizer)' != ''">$(BuildArgs) /p:DotNetBuildMonoBundleLLVMOptimizer=$(DotNetBuildMonoBundleLLVMOptimizer)</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildMonoCrossAOT)' != ''">$(BuildArgs) /p:DotNetBuildMonoCrossAOT=$(DotNetBuildMonoCrossAOT)</BuildArgs>
<BuildArgs Condition="'$(PgoInstrument)' == 'true'">$(BuildArgs) $(FlagParameterPrefix)pgoinstrument</BuildArgs>
<BuildArgs Condition="'$(UseSystemLibs)' != ''">$(BuildArgs) /p:UseSystemLibs=$(UseSystemLibs)</BuildArgs>

Expand Down
Loading