-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #34166 from mangod9/master
Add support for building S.P.CoreLib in a separate job
- Loading branch information
Showing
13 changed files
with
244 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
parameters: | ||
archType: '' | ||
buildConfig: '' | ||
condition: true | ||
container: '' | ||
crossrootfsDir: '' | ||
isOfficialBuild: false | ||
osGroup: '' | ||
osSubgroup: '' | ||
platform: '' | ||
pool: '' | ||
signBinaries: false | ||
stagedBuild: false | ||
testGroup: '' | ||
timeoutInMinutes: '' | ||
variables: {} | ||
|
||
### Product build | ||
jobs: | ||
- template: xplat-pipeline-job.yml | ||
parameters: | ||
buildConfig: ${{ parameters.buildConfig }} | ||
_BuildConfig: ${{ parameters.buildConfig }} | ||
archType: ${{ parameters.archType }} | ||
osGroup: ${{ parameters.osGroup }} | ||
osSubgroup: ${{ parameters.osSubgroup }} | ||
testGroup: ${{ parameters.testGroup }} | ||
helixType: 'build/product/' | ||
enableMicrobuild: true | ||
stagedBuild: ${{ parameters.stagedBuild }} | ||
pool: ${{ parameters.pool }} | ||
condition: ${{ parameters.condition }} | ||
|
||
name: ${{ format('coreclr_corelib_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} | ||
displayName: ${{ format('CoreCLR CoreLib Build {0}{1} {2} {3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} | ||
|
||
# Run all steps in the container. | ||
# Note that the containers are defined in platform-matrix.yml | ||
container: ${{ parameters.container }} | ||
|
||
timeoutInMinutes: ${{ parameters.timeoutInMinutes }} | ||
|
||
crossrootfsDir: ${{ parameters.crossrootfsDir }} | ||
|
||
gatherAssetManifests: true | ||
variables: | ||
- name: osGroup | ||
value: ${{ parameters.osGroup }} | ||
- name: osSubgroup | ||
value: ${{ parameters.osSubgroup }} | ||
- name: compilerArg | ||
value: '' | ||
- name: publishLogsArtifactPrefix | ||
value: 'BuildLogs_CoreLib' | ||
- name: officialBuildIdArg | ||
value: '' | ||
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}: | ||
- name: officialBuildIdArg | ||
value: '/p:OfficialBuildId=$(Build.BuildNumber)' | ||
|
||
- ${{ parameters.variables }} | ||
|
||
steps: | ||
|
||
# Install native dependencies | ||
# Linux builds use docker images with dependencies preinstalled, | ||
# and FreeBSD builds use a build agent with dependencies | ||
# preinstalled, so we only need this step for OSX and Windows. | ||
- ${{ if eq(parameters.osGroup, 'OSX') }}: | ||
- script: sh $(Build.SourcesDirectory)/eng/install-native-dependencies.sh $(osGroup) | ||
displayName: Install native dependencies | ||
- ${{ if eq(parameters.osGroup, 'Windows_NT') }}: | ||
# Necessary to install python | ||
- script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force | ||
displayName: Install native dependencies | ||
|
||
# # Install internal tools on official builds | ||
# # Since our internal tools are behind an authenticated feed, | ||
# # we need to use the DotNetCli AzDO task to restore from the feed using a service connection. | ||
# # We can't do this from within the build, so we need to do this as a separate step. | ||
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}: | ||
- template: /eng/pipelines/common/restore-internal-tools.yml | ||
parameters: | ||
installDotnet: true | ||
|
||
# Build Private CoreLib | ||
- script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subsetCategory coreclr -subset corelib $(crossArg) -arch $(archType) -c $(buildConfig) $(officialBuildIdArg) -ci | ||
displayName: Build System.Private.CoreLib | ||
|
||
|
||
# Publish corelib output directory for consumption by libraries. | ||
- template: /eng/pipelines/common/upload-artifact-step.yml | ||
parameters: | ||
rootFolder: $(buildProductRootFolderPath) | ||
includeRootFolder: false | ||
archiveType: $(archiveType) | ||
tarCompression: $(tarCompression) | ||
archiveExtension: $(archiveExtension) | ||
artifactName: $(corelibProductArtifactName) | ||
displayName: Upload System.Private.CoreLib | ||
|
||
# Publish Logs | ||
- task: PublishPipelineArtifact@1 | ||
displayName: Publish Logs | ||
inputs: | ||
targetPath: $(Build.SourcesDirectory)/artifacts/log | ||
artifactName: '$(publishLogsArtifactPrefix)_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)' | ||
continueOnError: true | ||
condition: always() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters