Skip to content

Commit

Permalink
Merge in 'release/6.0' changes
Browse files Browse the repository at this point in the history
  • Loading branch information
dotnet-bot committed Jun 14, 2024
2 parents afb18ba + 68438ed commit e77011b
Show file tree
Hide file tree
Showing 17 changed files with 334 additions and 249 deletions.
11 changes: 5 additions & 6 deletions eng/pipelines/common/global-build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,12 +171,11 @@ jobs:
displayName: Install native dependencies

# Build
- template: /eng/pipelines/common/templates/global-build-step.yml
parameters:
buildArgs: ${{ parameters.buildArgs }}
useContinueOnErrorDuringBuild: ${{ parameters.useContinueOnErrorDuringBuild }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
archType: ${{ parameters.archType }}
- ${{ if eq(parameters.buildingOnSourceBuildImage, false) }}:
- script: $(_sclEnableCommand) $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci -arch ${{ parameters.archType }} $(_osParameter) ${{ parameters.buildArgs }} $(_officialBuildParameter) $(_crossBuildPropertyArg) $(_cxx11Parameter) $(_richCodeNavigationParam) $(_buildDarwinFrameworksParameter)
displayName: Build product
${{ if eq(parameters.useContinueOnErrorDuringBuild, true) }}:
continueOnError: ${{ parameters.shouldContinueOnError }}

- ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'Android') }}:
- script: |
Expand Down
12 changes: 0 additions & 12 deletions eng/pipelines/common/templates/global-build-step.yml

This file was deleted.

9 changes: 9 additions & 0 deletions eng/pipelines/common/templates/runtimes/xplat-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,15 @@ jobs:
- name: buildConfig
value: ${{ parameters.buildConfig }}

- name: archType
value: ${{ parameters.archType }}

- name: osGroup
value: ${{ parameters.osGroup }}

- name: osSubgroup
value: ${{ parameters.osSubgroup }}

- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: official/dotnet/runtime/$(Build.SourceBranch)
Expand Down
9 changes: 0 additions & 9 deletions eng/pipelines/common/xplat-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,6 @@ jobs:
- name: _BuildConfig
value: $(buildConfigUpper)

- name: archType
value: ${{ parameters.archType }}

- name: osGroup
value: ${{ parameters.osGroup }}

- name: osSubgroup
value: ${{ parameters.osSubgroup }}

- ${{ if or(eq(parameters.osGroup, 'windows'), eq(parameters.hostedOs, 'windows')) }}:
- name: archiveExtension
value: '.zip'
Expand Down
8 changes: 8 additions & 0 deletions eng/pipelines/coreclr/templates/build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,14 @@ jobs:
artifactName: $(buildProductArtifactName)
displayName: 'product build'

- ${{ if and(in(parameters.osGroup, 'windows', 'Linux'), ne(parameters.archType, 'x86'), ne(parameters.compilerName, 'gcc'), ne(parameters.testGroup, 'clrTools')) }}:
- template: /eng/pipelines/coreclr/templates/crossdac-build.yml
parameters:
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
isOfficialBuild: ${{ parameters.isOfficialBuild }}

- ${{ if and(ne(parameters.compilerName, 'gcc'), ne(parameters.testGroup, ''), ne(parameters.testGroup, 'clrTools')) }}:
# Publish test native components for consumption by test execution.
- ${{ if ne(parameters.isOfficialBuild, true) }}:
Expand Down
54 changes: 54 additions & 0 deletions eng/pipelines/coreclr/templates/crossdac-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
parameters:
archType: ''
osGroup: ''
osSubgroup: ''
isOfficialBuild: false

steps:
# Always build the crossdac, that way we know in CI/PR if things break to build.
- ${{ if and(eq(parameters.osGroup, 'windows'), notin(parameters.archType, 'x86')) }}:
- script: set __TestIntermediateDir=int&&$(Build.SourcesDirectory)/src/coreclr/build-runtime$(scriptExt) $(buildConfig) $(archType) -ci -linuxdac -ninja $(officialBuildIdArg)
displayName: Build Cross OS Linux DAC for Windows

- script: set __TestIntermediateDir=int&&$(Build.SourcesDirectory)/src/coreclr/build-runtime$(scriptExt) $(buildConfig) $(archType) -ci -alpinedac -ninja $(officialBuildIdArg)
displayName: Build Cross OS Linux-musl DAC for Windows

- task: CopyFiles@2
displayName: Gather CrossDac Artifacts (Linux)
inputs:
SourceFolder: $(buildLinuxDacRootFolderPath)
Contents: |
**/*
!**/sharedFramework/**/*
TargetFolder: $(buildLinuxDacStagingPath)

- task: CopyFiles@2
displayName: Gather CrossDac Artifacts (Linux_musl)
inputs:
SourceFolder: $(buildMuslDacRootFolderPath)
Contents: |
**/*
!**/sharedFramework/**/*
TargetFolder: '$(buildMuslDacStagingPath)'

- template: /eng/pipelines/coreclr/templates/sign-diagnostic-files.yml
parameters:
basePath: $(crossDacArtifactPath)
isOfficialBuild: ${{ parameters.isOfficialBuild }}
timeoutInMinutes: 30

- ${{ if eq(parameters.osGroup, 'Linux') }}:
- task: CopyFiles@2
displayName: Gather runtime for CrossDac
inputs:
SourceFolder: $(coreClrProductRootFolderPath)
Contents: libcoreclr.so
TargetFolder: '$(crossDacArtifactPath)/${{ parameters.osGroup }}${{ parameters.osSubgroup }}.$(archType).$(buildConfigUpper)/$(crossDacHostArch)'

# Make the assets available in a single container for the packaging job.
- task: PublishBuildArtifacts@1
displayName: Publish runtime for CrossDac
inputs:
pathtoPublish: $(crossDacArtifactPath)
PublishLocation: Container
artifactName: $(buildCrossDacArtifactName)
9 changes: 0 additions & 9 deletions eng/pipelines/coreclr/templates/crossdac-hostarch.yml

This file was deleted.

79 changes: 79 additions & 0 deletions eng/pipelines/coreclr/templates/crossdac-pack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
parameters:
archType: ''
buildConfig: ''
container: ''
crossDacPlatforms: {}
dependOnEvaluatePaths: false
isOfficialBuild: false
osGroup: ''
osSubgroup: ''
platform: ''
pool: ''
runtimeVariant: ''
stagedBuild: false
testGroup: ''
timeoutInMinutes: ''
variables: {}

jobs:
- template: xplat-pipeline-job.yml
parameters:
archType: ${{ parameters.archType }}
buildConfig: ${{ parameters.buildConfig }}
container: ${{ parameters.container }}
condition: ${{ parameters.isOfficialBuild }}
helixType: 'build/product/'
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
pool: ${{ parameters.pool }}
runtimeVariant: ${{ parameters.runtimeVariant }}
stagedBuild: ${{ parameters.stagedBuild }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}

name: crossdacpack
displayName: CrossDac Packaging

variables:
- name: officialBuildIdArg
value: ''
- name: crossDacArgs
value: ''
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- name: officialBuildIdArg
value: '/p:OfficialBuildId=$(Build.BuildNumber)'
- name: crossDacArgs
value: '/p:CrossDacArtifactsDir=$(crossDacArtifactPath)/$(buildCrossDacArtifactName)'
- name: SignType
value: $[ coalesce(variables.OfficialSignType, 'real') ]
- ${{ parameters.variables }}

dependsOn:
- ${{ if ne(parameters.crossDacPlatforms, '') }}:
- ${{ each platform in parameters.crossDacPlatforms }}:
- ${{ parameters.runtimeFlavor }}_${{ parameters.runtimeVariant }}_product_build_${{ platform }}_${{ parameters.buildConfig }}

steps:
- task: DownloadBuildArtifacts@0
displayName: Download CrossDac artifacts
inputs:
artifactName: $(buildCrossDacArtifactName)
downloadPath: $(crossDacArtifactPath)
checkDownloadedFiles: true

- script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset crossdacpack -arch $(archType) $(osArg) -c $(buildConfig) $(officialBuildIdArg) $(crossDacArgs) -ci
displayName: Build crossdac packaging

# Save packages using the prepare-signed-artifacts format.
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
parameters:
name: ${{ parameters.platform }}

# Upload to artifacts to be signed
- task: PublishPipelineArtifact@1
displayName: Publish Logs
inputs:
targetPath: $(Build.SourcesDirectory)/artifacts/log
artifactName: 'CrossDacPackagingLogs'
continueOnError: true
condition: always()
6 changes: 6 additions & 0 deletions eng/pipelines/coreclr/templates/xplat-pipeline-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,12 @@ jobs:
- name: buildProductRootFolderPath
value: '$(Build.SourcesDirectory)/artifacts/bin/coreclr/$(osGroup).$(archType).$(buildConfigUpper)'

- name: buildCrossDacArtifactName
value: CoreCLRCrossDacArtifacts

- name: crossDacArtifactPath
value: $(Build.SourcesDirectory)/artifacts/$(buildCrossDacArtifactName)

- name: buildMuslDacRootFolderPath
value: '$(Build.SourcesDirectory)/artifacts/bin/coreclr/alpine.$(archType).$(buildConfigUpper)'

Expand Down
10 changes: 4 additions & 6 deletions eng/pipelines/global-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,9 @@ jobs:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Release
buildConfig: release
platforms:
- SourceBuild_linux_x64
- SourceBuild_Linux_x64
jobParameters:
nameSuffix: PortableSourceBuild
timeoutInMinutes: 95
condition:
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true)
nameSuffix: SourceBuild
timeoutInMinutes: 90
22 changes: 22 additions & 0 deletions eng/pipelines/installer/installer-matrix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
parameters:
runtimeFlavor: 'coreclr'
platforms: []
jobParameters: []
buildConfig: Release
runtimeVariant: ''

jobs:

#
# Build and Test
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/installer/jobs/base-job.yml
buildConfig: ${{ parameters.buildConfig }}
platforms: ${{ parameters.platforms }}
passPlatforms: true
runtimeFlavor: ${{ parameters.runtimeFlavor }}
runtimeVariant: ${{ parameters.runtimeVariant }}
jobParameters:
${{ insert }}: ${{ parameters.jobParameters }}
29 changes: 26 additions & 3 deletions eng/pipelines/installer/jobs/base-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -397,9 +397,32 @@ jobs:
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)

- script: $(BaseJobBuildCommand)
displayName: Build
continueOnError: ${{ and(eq(variables.SkipTests, false), eq(parameters.shouldContinueOnError, true)) }}
# Build the default subset non-MacOS platforms
- ${{ if ne(parameters.osGroup, 'OSX') }}:
- script: $(BaseJobBuildCommand)
displayName: Build
continueOnError: ${{ and(eq(variables.SkipTests, false), eq(parameters.shouldContinueOnError, true)) }}

# Build corehost, sign and add entitlements to MacOS binaries
- ${{ if eq(parameters.osGroup, 'OSX') }}:
- script: $(BaseJobBuildCommand) -subset host.native
displayName: Build CoreHost
continueOnError: ${{ and(eq(variables.SkipTests, false), eq(parameters.shouldContinueOnError, true)) }}

- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/pipelines/common/macos-sign-with-entitlements.yml
parameters:
filesToSign:
- name: dotnet
path: $(Build.SourcesDirectory)/artifacts/bin/osx-${{ parameters.archType }}.$(_BuildConfig)/corehost
entitlementsFile: $(Build.SourcesDirectory)/eng/pipelines/common/entitlements.plist
- name: apphost
path: $(Build.SourcesDirectory)/artifacts/bin/osx-${{ parameters.archType }}.$(_BuildConfig)/corehost
entitlementsFile: $(Build.SourcesDirectory)/eng/pipelines/common/entitlements.plist

- script: $(BaseJobBuildCommand) -subset host.pkg+host.tools+host.tests+packs
displayName: Build and Package
continueOnError: ${{ and(eq(variables.SkipTests, false), eq(parameters.shouldContinueOnError, true)) }}

- ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
- script: |
Expand Down
Loading

0 comments on commit e77011b

Please sign in to comment.