1
- # The purpose of this pipeline is to exercise local developer workflow in the consolidated
2
- # runtime repo. In particular , it is supposed to run the root " build" script just like any
3
- # normal developer normally would and monitor regressions w.r.t. this fundamental scenario .
1
+ # The purpose of this pipeline is to exercise various developer workflows in the repo.
2
+ # Primarily , it is meant to cover local (non-cross) build scenarios and
3
+ # source-build scenarios that commonly cause build breaks .
4
4
5
5
trigger : none
6
6
@@ -41,28 +41,6 @@ extends:
41
41
- stage : Build
42
42
jobs :
43
43
44
- #
45
- # Build with Release config and Debug runtimeConfiguration
46
- #
47
- - template : /eng/pipelines/common/platform-matrix.yml
48
- parameters :
49
- jobTemplate : /eng/pipelines/common/global-build-job.yml
50
- buildConfig : release
51
- platforms :
52
- - windows_x86
53
- - osx_x64
54
- - osx_arm64
55
- jobParameters :
56
- testGroup : innerloop
57
- nameSuffix : Runtime_Debug
58
- buildArgs : -c release -runtimeConfiguration debug
59
- timeoutInMinutes : 120
60
- condition :
61
- or(
62
- eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
63
- eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
64
- eq(variables['isRollingBuild'], true))
65
-
66
44
#
67
45
# Build with Release config and runtimeConfiguration with MSBuild generator
68
46
#
@@ -83,26 +61,6 @@ extends:
83
61
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
84
62
eq(variables['isRollingBuild'], true))
85
63
86
- #
87
- # Build with Debug config and Release runtimeConfiguration
88
- #
89
- - template : /eng/pipelines/common/platform-matrix.yml
90
- parameters :
91
- jobTemplate : /eng/pipelines/common/global-build-job.yml
92
- buildConfig : debug
93
- platforms :
94
- - linux_x64_dev_innerloop
95
- jobParameters :
96
- testGroup : innerloop
97
- nameSuffix : Runtime_Release
98
- buildArgs : -c debug -runtimeConfiguration release
99
- timeoutInMinutes : 120
100
- condition :
101
- or(
102
- eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
103
- eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
104
- eq(variables['isRollingBuild'], true))
105
-
106
64
#
107
65
# Build with RuntimeFlavor only. This exercise code paths where only RuntimeFlavor is
108
66
# specified. Catches cases where we depend on Configuration also being specified
@@ -124,38 +82,37 @@ extends:
124
82
eq(variables['isRollingBuild'], true))
125
83
126
84
#
127
- # Build Mono + Libraries. This exercises the code path where we build libraries without
128
- # first building CoreCLR
85
+ # Build Libraries AllConfigurations . This exercises the code path where we build libraries for all
86
+ # configurations on a non Windows operating system.
129
87
#
130
88
- template : /eng/pipelines/common/platform-matrix.yml
131
89
parameters :
132
90
jobTemplate : /eng/pipelines/common/global-build-job.yml
133
91
buildConfig : debug
134
92
platforms :
135
- - windows_x64
93
+ - linux_x64_dev_innerloop
136
94
jobParameters :
137
- testGroup : innerloop
138
- nameSuffix : Mono_Libraries
139
- buildArgs : -subset mono+libs /p:RuntimeFlavor=Mono
95
+ nameSuffix : Libraries_AllConfigurations
96
+ buildArgs : -subset libs -allconfigurations
140
97
timeoutInMinutes : 120
141
98
condition :
142
99
or(
143
- eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_wasm .containsChange'], true),
100
+ eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm .containsChange'], true),
144
101
eq(variables['isRollingBuild'], true))
145
102
146
103
#
147
- # Build Libraries AllConfigurations . This exercises the code path where we build libraries for all
148
- # configurations on a non Windows operating system .
104
+ # Build native assets on Alpine . This exercises more modern musl libc changes that have a tendendy to break source-build.
105
+ # We don't add this as a source-build job as the repo source-build infrastructure isn't set up to run on alpine effectively .
149
106
#
150
107
- template : /eng/pipelines/common/platform-matrix.yml
151
108
parameters :
152
109
jobTemplate : /eng/pipelines/common/global-build-job.yml
153
- buildConfig : debug
110
+ buildConfig : release
154
111
platforms :
155
- - linux_x64_dev_innerloop
112
+ - linux_musl_x64_dev_innerloop
156
113
jobParameters :
157
- nameSuffix : Libraries_AllConfigurations
158
- buildArgs : -subset libs -allconfigurations
114
+ nameSuffix : Musl_Validation
115
+ buildArgs : -subset clr.native+ libs.native+host.native -c $(_BuildConfig)
159
116
timeoutInMinutes : 120
160
117
condition :
161
118
or(
0 commit comments