Skip to content

Commit a48fee0

Browse files
[release/6.0-staging] Merge #92958 and #93082 (#103044)
1 parent 2f62289 commit a48fee0

File tree

7 files changed

+54
-123
lines changed

7 files changed

+54
-123
lines changed

eng/pipelines/global-build.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,6 @@ jobs:
133133
- SourceBuild_linux_x64
134134
jobParameters:
135135
nameSuffix: PortableSourceBuild
136-
extraStepsParameters:
137-
name: SourceBuildPackages
138136
timeoutInMinutes: 95
139137
condition:
140138
eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true)

eng/pipelines/installer/jobs/base-job.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ parameters:
1212
container: ''
1313
buildSteps: []
1414
dependsOn: []
15-
dependsOnGlobalBuild: false
1615
dependOnEvaluatePaths: false
1716
globalBuildSuffix: ''
1817
variables: []

eng/pipelines/libraries/base-job.yml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ parameters:
66
crossBuild: false
77
crossrootfsDir: ''
88
framework: 'net6.0'
9-
isOfficialAllConfigurations: false
109
isSourceBuild: false
1110
liveRuntimeBuildConfig: ''
1211
runtimeFlavor: 'coreclr'
@@ -27,12 +26,8 @@ parameters:
2726
jobs:
2827
- template: /eng/common/templates/job/job.yml
2928
parameters:
30-
${{ if notIn(parameters.framework, 'allConfigurations', 'net48') }}:
31-
displayName: ${{ format('Libraries {0} {1}{2} {3} {4}', parameters.displayName, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
32-
name: ${{ format('libraries_{0}_{1}{2}_{3}_{4}', parameters.name, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
33-
${{ if in(parameters.framework, 'allConfigurations', 'net48') }}:
34-
displayName: ${{ format('Libraries {0} {1} {2} {3} {4}', parameters.displayName, parameters.osGroup, parameters.framework, parameters.archType, parameters.buildConfig) }}
35-
name: ${{ format('libraries_{0}_{1}_{2}{3}_{4}_{5}', parameters.name, parameters.framework, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
29+
displayName: ${{ format('Libraries {0} {1}{2} {3} {4}', parameters.displayName, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
30+
name: ${{ format('libraries_{0}_{1}{2}_{3}_{4}', parameters.name, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
3631

3732
enableTelemetry: ${{ parameters.isOfficialBuild }} # TODO: figure out if it's needed
3833
container: ${{ parameters.container }}
@@ -80,13 +75,6 @@ jobs:
8075
- _finalFrameworkArg: -framework ${{ parameters.framework }}
8176
- _extraHelixArguments: /p:BuildTargetFramework=${{ parameters.framework }}
8277

83-
- ${{ if eq(parameters.framework, 'allConfigurations') }}:
84-
- _finalFrameworkArg: -allConfigurations
85-
- _testModeArg: /p:TestAssemblies=false /p:TestPackages=true
86-
87-
- ${{ if eq(parameters.isOfficialAllConfigurations, true) }}:
88-
- librariesBuildArtifactName: 'libraries_bin_official_allconfigurations'
89-
9078
- ${{ if eq(parameters.isOfficialBuild, true) }}:
9179
- _msbuildCommonParameters: /p:OfficialBuildId=$(Build.BuildNumber)
9280

eng/pipelines/libraries/build-job.yml

Lines changed: 27 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,17 @@ parameters:
88
crossrootfsDir: ''
99
framework: 'net6.0'
1010
isOfficialBuild: false
11-
isOfficialAllConfigurations: false
1211
runtimeVariant: ''
1312
platform: ''
14-
15-
# When set to a non-empty value (Debug / Release), it determines the runtime's
16-
# build configuration to use for building libraries and tests. Setting this
17-
# property implies a dependency of this job on the appropriate runtime build
18-
# and is used to construct the name of the Azure artifact representing
19-
# runtime build to use for building the libraries and library tests.
20-
liveRuntimeBuildConfig: ''
21-
runtimeFlavor: 'coreclr'
13+
testScope: ''
2214

2315
timeoutInMinutes: 150
24-
preBuildSteps: []
2516
container: ''
2617
condition: true
2718
dependOnEvaluatePaths: false
2819
shouldContinueOnError: false
2920
variables: {}
3021
pool: ''
31-
runTests: false
32-
useHelix: true
33-
testScope: ''
3422
testBuildPlatforms: []
3523

3624
jobs:
@@ -44,12 +32,9 @@ jobs:
4432
crossrootfsDir: ${{ parameters.crossrootfsDir }}
4533
framework: ${{ parameters.framework }}
4634
isOfficialBuild: ${{ parameters.isOfficialBuild }}
47-
isOfficialAllConfigurations: ${{ parameters.isOfficialAllConfigurations }}
48-
liveRuntimeBuildConfig: ${{ parameters.liveRuntimeBuildConfig }}
4935
runtimeFlavor: ${{ parameters.runtimeFlavor }}
50-
runTests: ${{ parameters.runTests }}
36+
runTests: false
5137
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
52-
preBuildSteps: ${{ parameters.preBuildSteps }}
5338
container: ${{ parameters.container }}
5439
condition: ${{ parameters.condition }}
5540
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
@@ -59,33 +44,14 @@ jobs:
5944
name: build
6045
displayName: 'Build'
6146

62-
${{ if and(ne(parameters.liveRuntimeBuildConfig, ''), eq(parameters.runTests, true)) }}:
63-
dependsOn:
64-
# Use full product dependency for test runs
65-
- ${{ format('{0}_{1}_product_build_{2}{3}_{4}_{5}', parameters.runtimeFlavor, parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }}
66-
6747
variables:
6848
- librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }}
69-
- _subset: libs
49+
- _subset: libs+libs.tests
7050
- _buildAction: ''
71-
- _additionalBuildArguments: ''
72-
- ${{ parameters.variables }}
73-
74-
# Tests only run for 'allConfiguration' and 'net48' build-jobs
75-
# If platform is in testBuildPlatforms we build tests as well.
76-
- ${{ if or(eq(parameters.runTests, true), containsValue(parameters.testBuildPlatforms, parameters.platform)) }}:
77-
- _subset: libs+libs.tests
78-
- ${{ if eq(parameters.useHelix, false) }}:
79-
- _buildAction: -restore -build -test
80-
- ${{ if eq(parameters.useHelix, true) }}:
81-
- _additionalBuildArguments: /p:ArchiveTests=true
82-
51+
- _additionalBuildArguments: '/p:ArchiveTests=true'
8352
- ${{ parameters.variables }}
8453

8554
steps:
86-
- ${{ if eq(parameters.isOfficialBuild, true) }}:
87-
- template: /eng/pipelines/common/restore-internal-tools.yml
88-
8955
- ${{ if in(parameters.osGroup, 'OSX', 'MacCatalyst', 'iOS', 'iOSSimulator', 'tvOS', 'tvOSSimulator') }}:
9056
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} ${{ parameters.archType }} azDO
9157
displayName: Install Build Dependencies
@@ -108,55 +74,26 @@ jobs:
10874
df -h
10975
displayName: Disk Usage after Build
11076
111-
- ${{ if eq(parameters.runTests, false) }}:
112-
- template: /eng/pipelines/libraries/prepare-for-bin-publish.yml
113-
parameters:
114-
isOfficialBuild: ${{ parameters.isOfficialBuild }}
115-
116-
- template: /eng/pipelines/common/upload-artifact-step.yml
117-
parameters:
118-
rootFolder: $(Build.ArtifactStagingDirectory)/artifacts
119-
includeRootFolder: false
120-
archiveType: $(archiveType)
121-
archiveExtension: $(archiveExtension)
122-
tarCompression: $(tarCompression)
123-
artifactName: $(librariesBuildArtifactName)
124-
displayName: Build Assets
125-
126-
- ${{ if containsValue(parameters.testBuildPlatforms, parameters.platform) }}:
127-
- template: /eng/pipelines/common/upload-artifact-step.yml
128-
parameters:
129-
rootFolder: $(Build.SourcesDirectory)/artifacts/helix
130-
includeRootFolder: true
131-
archiveType: $(archiveType)
132-
archiveExtension: $(archiveExtension)
133-
tarCompression: $(tarCompression)
134-
artifactName: $(librariesTestsArtifactName)
135-
displayName: Test Assets
136-
137-
# Save AllConfigurations artifacts using the prepare-signed-artifacts format. The
138-
# platform-specific jobs' nupkgs automatically flow through the matching platform-specific
139-
# Installer build, but AllConfigurations should only be uploaded once, here.
140-
- ${{ if eq(parameters.isOfficialAllConfigurations, true) }}:
141-
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
142-
parameters:
143-
name: Libraries_AllConfigurations
144-
publishPackagesCondition: >-
145-
or(
146-
eq(variables['_librariesBuildProducedPackages'], true),
147-
eq(variables['Build.SourceBranchName'], 'main'),
148-
eq(variables['System.PullRequest.TargetBranch'], 'main'))
149-
150-
- ${{ if and(eq(parameters.runTests, true), eq(parameters.useHelix, true)) }}:
151-
- template: /eng/pipelines/libraries/helix.yml
152-
parameters:
153-
osGroup: ${{ parameters.osGroup }}
154-
targetRid: ${{ parameters.targetRid }}
155-
archType: ${{ parameters.archType }}
156-
buildConfig: ${{ parameters.buildConfig }}
157-
helixQueues: ${{ parameters.helixQueues }}
158-
testScope: ${{ parameters.testScope }}
159-
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
160-
creator: dotnet-bot
161-
testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix)
162-
extraHelixArguments: $(_extraHelixArguments)
77+
- template: /eng/pipelines/libraries/prepare-for-bin-publish.yml
78+
79+
- template: /eng/pipelines/common/upload-artifact-step.yml
80+
parameters:
81+
rootFolder: $(Build.ArtifactStagingDirectory)/artifacts
82+
includeRootFolder: false
83+
archiveType: $(archiveType)
84+
archiveExtension: $(archiveExtension)
85+
tarCompression: $(tarCompression)
86+
artifactName: $(librariesBuildArtifactName)
87+
displayName: Build Assets
88+
89+
# Upload test assets
90+
# We'll pull them down in another job to send to Helix
91+
- template: /eng/pipelines/common/upload-artifact-step.yml
92+
parameters:
93+
rootFolder: $(Build.SourcesDirectory)/artifacts/helix
94+
includeRootFolder: true
95+
archiveType: $(archiveType)
96+
archiveExtension: $(archiveExtension)
97+
tarCompression: $(tarCompression)
98+
artifactName: $(librariesTestsArtifactName)
99+
displayName: Test Assets

eng/pipelines/libraries/run-test-job.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,7 @@ jobs:
6767
- ${{ if ne(parameters.dependsOn[0], '') }}:
6868
- ${{ parameters.dependsOn }}
6969
- ${{ if eq(parameters.dependsOn[0], '') }}:
70-
- ${{ if notIn(parameters.framework, 'allConfigurations', 'net48') }}:
71-
- ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
72-
# tests are built as part of product build
73-
- ${{ if or(ne(parameters.archType, parameters.dependsOnTestArchitecture), ne(parameters.buildConfig, parameters.dependsOnTestBuildConfiguration), ne(parameters.osSubgroup, parameters.dependsOnTestOsSubgroup)) }}:
74-
- ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.dependsOnTestOsSubgroup, parameters.dependsOnTestArchitecture, parameters.dependsOnTestBuildConfiguration) }}
70+
- ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
7571
- ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}:
7672
- ${{ format('{0}_{1}_product_build_{2}{3}_{4}_{5}', parameters.runtimeFlavor, parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }}
7773

eng/pipelines/runtime-official.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -432,9 +432,10 @@ stages:
432432
buildArgs: -s clr.native+clr.corelib+clr.tools+clr.nativecorelib+libs+host+packs -c $(_BuildConfig) -pgoinstrument
433433
isOfficialBuild: ${{ variables.isOfficialBuild }}
434434
nameSuffix: PGO
435-
extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
436-
extraStepsParameters:
437-
name: PGO
435+
postBuildSteps:
436+
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
437+
parameters:
438+
name: PGO
438439
timeoutInMinutes: 95
439440

440441
#

eng/pipelines/runtime.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -806,9 +806,12 @@ jobs:
806806
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
807807
eq(variables['isFullMatrix'], true))
808808
809+
#
810+
# Build and test libraries for .NET Framework
811+
#
809812
- template: /eng/pipelines/common/platform-matrix.yml
810813
parameters:
811-
jobTemplate: /eng/pipelines/libraries/build-job.yml
814+
jobTemplate: /eng/pipelines/common/global-build-job.yml
812815
buildConfig: Release
813816
platforms:
814817
- windows_x86
@@ -818,24 +821,33 @@ jobs:
818821
jobParameters:
819822
isFullMatrix: ${{ variables.isFullMatrix }}
820823
framework: net48
821-
runTests: true
822-
testScope: innerloop
824+
buildArgs: -s libs+libs.tests -framework net48 -c $(_BuildConfig) -testscope innerloop /p:ArchiveTests=true
825+
nameSuffix: Libraries_NET48
826+
timeoutInMinutes: 150
827+
postBuildSteps:
828+
- template: /eng/pipelines/libraries/helix.yml
829+
parameters:
830+
creator: dotnet-bot
831+
testRunNamePrefixSuffix: NET48_$(_BuildConfig)
832+
extraHelixArguments: /p:BuildTargetFramework=net48
823833
condition: >-
824834
or(
825835
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
826836
eq(variables['isFullMatrix'], true))
827837
838+
#
839+
# Build and test libraries AllConfigurations
840+
#
828841
- template: /eng/pipelines/common/platform-matrix.yml
829842
parameters:
830-
jobTemplate: /eng/pipelines/libraries/build-job.yml
843+
jobTemplate: /eng/pipelines/common/global-build-job.yml
831844
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
832845
platforms:
833846
- windows_x64
834847
jobParameters:
835-
isFullMatrix: ${{ variables.isFullMatrix }}
836-
framework: allConfigurations
837-
runTests: true
838-
useHelix: false
848+
buildArgs: -test -s libs+libs.tests -allConfigurations -c $(_BuildConfig) /p:TestAssemblies=false /p:TestPackages=true
849+
nameSuffix: Libraries_AllConfigurations
850+
timeoutInMinutes: 150
839851
condition: >-
840852
or(
841853
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),

0 commit comments

Comments
 (0)