Skip to content

Commit

Permalink
[VMR] Enable building Mono Cross AOT verticals
Browse files Browse the repository at this point in the history
  • Loading branch information
akoeplinger committed Nov 18, 2024
1 parent bda6ac5 commit 254cd42
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 1 deletion.
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

0 comments on commit 254cd42

Please sign in to comment.