Add CoreCLR crossbuild job (#17967)

Adds a pipelines job to crossbuild the VMR with CoreCLR and change the architecture pipeline parameter so the proper path is used to upload artifacts.
This commit is contained in:
Jackson Schuster 2024-01-12 10:55:40 -08:00 committed by GitHub
commit 5e2e0f9758
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 7 deletions

View file

@ -190,7 +190,7 @@ jobs:
if [[ -n '${{ parameters.artifactsRid }}' ]]; then
customPrepArgs="${customPrepArgs} --artifacts-rid ${{ parameters.artifactsRid }}"
fi
if [[ '${{ parameters.withPreviousSDK }}' == 'True' ]]; then
# Source-built artifacts are from CentOS 8 Stream or Alpine 3.19. We want to download them without
# downloading portable versions from the internet.
@ -200,7 +200,7 @@ jobs:
customPrepArgs="${customPrepArgs} --no-sdk --no-artifacts"
prepSdk=false
fi
if [[ "$prepSdk" == "false" ]]; then
mkdir $(sourcesPath)/.dotnet
previousSdkPath="$(sourcesPath)/prereqs/packages/archive/dotnet-sdk-*.tar.gz"
@ -251,8 +251,10 @@ jobs:
if [[ ! -z '${{ parameters.targetRid }}' ]]; then
extraBuildProperties="--"
customEnvVars="$customEnvVars CROSSCOMPILE=1"
extraBuildProperties="$extraBuildProperties /p:PortableBuild=true /p:DotNetBuildVertical=true"
if [[ '${{ parameters.useMonoRuntime }}' == 'True' ]]; then
customEnvVars="$customEnvVars CROSSCOMPILE=1"
fi
extraBuildProperties="$extraBuildProperties /p:PortableBuild=true /p:DotNetBuildVertical=true /p:CrossBuild=true"
fi
if [[ ! -z '${{ parameters.crossRootFs }}' ]]; then

View file

@ -93,10 +93,10 @@ stages:
- template: ../jobs/vmr-build.yml
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: MarinerCrossArm64_Online_MsftSdk
buildName: MarinerCrossArm64_Online_MsftSdk_Mono
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
architecture: arm64
pool:
name: ${{ variables.defaultPoolName }}
demands: ${{ variables.defaultPoolDemands }}
@ -134,7 +134,7 @@ stages:
buildName: OSXCrossArm64_Online_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
architecture: arm64
pool:
vmImage: ${{ parameters.poolMac.vmImage }}
container: ''
@ -145,3 +145,23 @@ stages:
useMonoRuntime: true # ✅
withPreviousSDK: false # 🚫
targetRid: 'osx-arm64' # 📝
- template: ../jobs/vmr-build.yml
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: MarinerCrossArm64_Online_MsftSdk_CoreCLR
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool:
name: ${{ variables.defaultPoolName }}
demands: ${{ variables.defaultPoolDemands }}
container: ${{ parameters.marinerArm64CrossContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
runOnline: true # ✅
useMonoRuntime: false # 🚫
withPreviousSDK: false # 🚫
crossRootFs: '/crossrootfs/arm64' # 📝
targetRid: 'linux-arm64' # 📝