Skip to content

Commit 38c2d55

Browse files
authored
Build corelib as part of libraries build. (#34664)
* simplify libraries build dependencies. * FIx depends for tests * Fix artifact name for webAssembly * try building corelib during libraries build. * small typo * Merge coreclr+libraries build scripts * update scripts based on new refactor * fix script error * dont build corelib for mono or testbuilds * Handle webassembly case * fix allconfigurations build * remove separate corelib job * remove corelib jobs from pipelines * delete build-corelib-job * PR feedback * remove special case for webassembly now that its dependent on the mono runtimeFlavor
1 parent ca1a684 commit 38c2d55

File tree

8 files changed

+14
-211
lines changed

8 files changed

+14
-211
lines changed

eng/pipelines/common/build-coreclr-and-libraries-job.yml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,6 @@ parameters:
1313
pool: ''
1414

1515
jobs:
16-
- template: /eng/pipelines/coreclr/templates/build-corelib-job.yml
17-
parameters:
18-
buildConfig: ${{ parameters.buildConfig }}
19-
archType: ${{ parameters.archType }}
20-
osGroup: ${{ parameters.osGroup }}
21-
osSubgroup: ${{ parameters.osSubgroup }}
22-
container: ${{ parameters.container }}
23-
testGroup: ${{ parameters.testGroup }}
24-
crossrootfsDir: ${{ parameters.crossrootfsDir }}
25-
timeoutInminutes: ${{ parameters.timeoutInMinutes }}
26-
signBinaries: ${{ parameters.signBinaries }}
27-
stagedBuild: ${{ parameters.stagedBuild }}
28-
variables: ${{ parameters.variables }}
29-
pool: ${{ parameters.pool }}
30-
3116
- template: /eng/pipelines/coreclr/templates/build-job.yml
3217
parameters:
3318
buildConfig: ${{ parameters.buildConfig }}

eng/pipelines/coreclr/ci.yml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,6 @@ jobs:
3131
#
3232
- template: /eng/pipelines/common/checkout-job.yml
3333

34-
#
35-
# Checked Corelib builds
36-
#
37-
- template: /eng/pipelines/common/platform-matrix.yml
38-
parameters:
39-
jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml
40-
buildConfig: checked
41-
platformGroup: all
42-
jobParameters:
43-
testGroup: outerloop
44-
4534
#
4635
# Debug builds
4736
#

eng/pipelines/coreclr/templates/build-corelib-job.yml

Lines changed: 0 additions & 107 deletions
This file was deleted.

eng/pipelines/libraries/base-job.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,15 @@ jobs:
9696
- _runtimeArtifactName: ''
9797
- _runtimeDownloadPath: ''
9898
- _runtimeArtifactsPathArg: ''
99+
- _runtimeConfigurationArg: ''
99100

100101
- ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}:
101102
- _runtimeDownloadPath: '$(Build.SourcesDirectory)/artifacts/transport/${{ parameters.runtimeFlavor }}'
102-
# Download corelib dependencies for coreclr libraries and not test
103-
- ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}:
104-
- _runtimeArtifactName: 'CoreLib_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.liveRuntimeBuildConfig }}'
103+
- _runtimeConfigurationArg: -rc ${{ parameters.liveRuntimeBuildConfig }}
105104
# Download full product dependencies for mono or test
106105
- ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}:
107106
- _runtimeArtifactName: '$(runtimeFlavorName)Product_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.liveRuntimeBuildConfig }}'
108-
- _runtimeArtifactsPathArg: ' /p:RuntimeArtifactsPath=$(_runtimeDownloadPath)'
107+
- _runtimeArtifactsPathArg: ' /p:RuntimeArtifactsPath=$(_runtimeDownloadPath)'
109108
- _testRunNamePrefixSuffix: $(runtimeFlavorName)_${{ parameters.liveRuntimeBuildConfig }}
110109

111110
# Windows variables
@@ -116,7 +115,7 @@ jobs:
116115
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
117116
- _buildScript: ./$(_buildScriptFileName)$(scriptExt)
118117

119-
- _buildArguments: -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg)
118+
- _buildArguments: $(_runtimeConfigurationArg) -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg)
120119
- ${{ parameters.variables }}
121120

122121
dependsOn:
@@ -131,7 +130,7 @@ jobs:
131130
steps:
132131
- template: /eng/pipelines/common/clone-checkout-bundle-step.yml
133132

134-
- ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}:
133+
- ${{ if and(ne(parameters.liveRuntimeBuildConfig, ''), or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, ''))) }}:
135134
- template: /eng/pipelines/common/download-artifact-step.yml
136135
parameters:
137136
unpackFolder: $(_runtimeDownloadPath)

eng/pipelines/libraries/build-job.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,23 @@ jobs:
4949

5050
${{ if ne(parameters.liveRuntimeBuildConfig, '') }}:
5151
dependsOn:
52-
# Use corelib dependencies for coreclr and non test builds
53-
- ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}:
54-
- ${{ format('coreclr_corelib_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }}
52+
# Use full product dependency for non-coreclr and test builds
5553
- ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}:
5654
- ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }}
5755

5856
variables:
5957
- _subset: libs
60-
- _addtionalBuildArguments: ''
58+
- _additionalBuildArguments: ''
6159
- ${{ parameters.variables }}
6260
- ${{ if eq(parameters.osGroup, 'WebAssembly') }}:
6361
- EMSDK_PATH: /usr/local/emscripten
62+
# for coreclr library builds (when not testing) build corelib as well.
63+
- ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}:
64+
- _subset: clr.corelib+libs
65+
# Tests only run for 'allConfiguration' and 'net472' build-jobs
6466
- ${{ if eq(parameters.runTests, true) }}:
65-
- _subset: libs+libs.tests
66-
- _addtionalBuildArguments: /p:ArchiveTests=true
67+
- _subset: clr.corelib+libs+libs.tests
68+
- _additionalBuildArguments: /p:ArchiveTests=true
6769

6870
- ${{ parameters.variables }}
6971

@@ -83,7 +85,7 @@ jobs:
8385
- script: $(_buildScript)
8486
-subset $(_subset)
8587
$(_buildArguments)
86-
$(_addtionalBuildArguments)
88+
$(_additionalBuildArguments)
8789
displayName: Restore and Build Product
8890

8991
- ${{ if eq(parameters.runTests, false) }}:

eng/pipelines/libraries/outerloop.yml

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,6 @@ variables:
1313

1414
jobs:
1515
- template: /eng/pipelines/common/checkout-job.yml
16-
17-
#
18-
# CoreLib Build
19-
#
20-
- template: /eng/pipelines/common/platform-matrix.yml
21-
parameters:
22-
jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml
23-
buildConfig: release
24-
platforms:
25-
- ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
26-
- Windows_NT_x64
27-
- Windows_NT_x86
28-
- ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
29-
- Linux_x64
30-
- Linux_musl_x64
31-
- ${{ if eq(variables['isFullMatrix'], true) }}:
32-
- Linux_arm
33-
- Linux_arm64
34-
- Linux_musl_arm64
35-
- ${{ if eq(variables['includeOsxOuterloop'], true) }}:
36-
- OSX_x64
37-
jobParameters:
38-
testGroup: innerloop
3916

4017
#
4118
# CoreCLR Build

eng/pipelines/runtime-official.yml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -39,27 +39,6 @@ stages:
3939
#
4040
- template: /eng/pipelines/common/checkout-job.yml
4141

42-
#
43-
# Build CoreLib
44-
#
45-
- template: /eng/pipelines/common/platform-matrix.yml
46-
parameters:
47-
jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml
48-
buildConfig: release
49-
platforms:
50-
- OSX_x64
51-
- Linux_x64
52-
- Linux_arm
53-
- Linux_arm64
54-
- Linux_musl_x64
55-
- Linux_musl_arm64
56-
- Windows_NT_x86
57-
- Windows_NT_x64
58-
- Windows_NT_arm
59-
- Windows_NT_arm64
60-
jobParameters:
61-
isOfficialBuild: ${{ variables.isOfficialBuild }}
62-
6342
#
6443
# Build CoreCLR
6544
#

eng/pipelines/runtime.yml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -118,27 +118,6 @@ jobs:
118118
- eng/pipelines/mono/*
119119
- eng/pipelines/libraries/*
120120

121-
#
122-
# Build CoreLib release
123-
#
124-
- template: /eng/pipelines/common/platform-matrix.yml
125-
parameters:
126-
jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml
127-
buildConfig: release
128-
platforms:
129-
- OSX_x64
130-
- Linux_x64
131-
- Linux_arm
132-
- Linux_arm64
133-
- Linux_musl_x64
134-
- Linux_musl_arm64
135-
- Windows_NT_x64
136-
- Windows_NT_x86
137-
- Windows_NT_arm
138-
- Windows_NT_arm64
139-
jobParameters:
140-
testGroup: innerloop
141-
142121
#
143122
# Build CoreCLR checked
144123
# Only when CoreCLR is changed

0 commit comments

Comments
 (0)