Skip to content

Commit d9521da

Browse files
jkoritzinskymichaelgsharp
authored andcommitted
Refresh our "dev-innerloop" pipeline jobs (dotnet#101304)
1 parent a36c290 commit d9521da

File tree

3 files changed

+37
-58
lines changed

3 files changed

+37
-58
lines changed

eng/pipelines/common/platform-matrix.yml

+19
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,25 @@ jobs:
294294
helixQueueGroup: ${{ parameters.helixQueueGroup }}
295295
${{ insert }}: ${{ parameters.jobParameters }}
296296

297+
- ${{ if containsValue(parameters.platforms, 'linux_musl_x64_dev_innerloop') }}:
298+
- template: xplat-setup.yml
299+
parameters:
300+
jobTemplate: ${{ parameters.jobTemplate }}
301+
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
302+
variables: ${{ parameters.variables }}
303+
osGroup: linux
304+
osSubgroup: _musl
305+
archType: x64
306+
targetRid: linux-musl-x64
307+
platform: linux_musl_x64
308+
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
309+
container: linux_musl_x64_dev_innerloop
310+
jobParameters:
311+
runtimeFlavor: ${{ parameters.runtimeFlavor }}
312+
buildConfig: ${{ parameters.buildConfig }}
313+
helixQueueGroup: ${{ parameters.helixQueueGroup }}
314+
${{ insert }}: ${{ parameters.jobParameters }}
315+
297316
# GCC Linux x64 Build
298317

299318
- ${{ if containsValue(parameters.platforms, 'gcc_linux_x64') }}:

eng/pipelines/common/templates/pipeline-with-resources.yml

+3
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ extends:
6868
linux_x64_dev_innerloop:
6969
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
7070

71+
linux_musl_x64_dev_innerloop:
72+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
73+
7174
# We use a CentOS Stream 8 image here to test building from source on CentOS Stream 8.
7275
SourceBuild_centos_x64:
7376
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8

eng/pipelines/global-build.yml

+15-58
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
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.
44

55
trigger: none
66

@@ -41,28 +41,6 @@ extends:
4141
- stage: Build
4242
jobs:
4343

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-
6644
#
6745
# Build with Release config and runtimeConfiguration with MSBuild generator
6846
#
@@ -83,26 +61,6 @@ extends:
8361
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
8462
eq(variables['isRollingBuild'], true))
8563

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-
10664
#
10765
# Build with RuntimeFlavor only. This exercise code paths where only RuntimeFlavor is
10866
# specified. Catches cases where we depend on Configuration also being specified
@@ -124,38 +82,37 @@ extends:
12482
eq(variables['isRollingBuild'], true))
12583

12684
#
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.
12987
#
13088
- template: /eng/pipelines/common/platform-matrix.yml
13189
parameters:
13290
jobTemplate: /eng/pipelines/common/global-build-job.yml
13391
buildConfig: debug
13492
platforms:
135-
- windows_x64
93+
- linux_x64_dev_innerloop
13694
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
14097
timeoutInMinutes: 120
14198
condition:
14299
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),
144101
eq(variables['isRollingBuild'], true))
145102

146103
#
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.
149106
#
150107
- template: /eng/pipelines/common/platform-matrix.yml
151108
parameters:
152109
jobTemplate: /eng/pipelines/common/global-build-job.yml
153-
buildConfig: debug
110+
buildConfig: release
154111
platforms:
155-
- linux_x64_dev_innerloop
112+
- linux_musl_x64_dev_innerloop
156113
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)
159116
timeoutInMinutes: 120
160117
condition:
161118
or(

0 commit comments

Comments
 (0)