Skip to content

Commit

Permalink
Refresh our "dev-innerloop" pipeline jobs (#101304)
Browse files Browse the repository at this point in the history
  • Loading branch information
jkoritzinsky authored Apr 24, 2024
1 parent dd24e9c commit 8f1e68a
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 58 deletions.
19 changes: 19 additions & 0 deletions eng/pipelines/common/platform-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,25 @@ jobs:
helixQueueGroup: ${{ parameters.helixQueueGroup }}
${{ insert }}: ${{ parameters.jobParameters }}

- ${{ if containsValue(parameters.platforms, 'linux_musl_x64_dev_innerloop') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
osGroup: linux
osSubgroup: _musl
archType: x64
targetRid: linux-musl-x64
platform: linux_musl_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
container: linux_musl_x64_dev_innerloop
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
${{ insert }}: ${{ parameters.jobParameters }}

# GCC Linux x64 Build

- ${{ if containsValue(parameters.platforms, 'gcc_linux_x64') }}:
Expand Down
3 changes: 3 additions & 0 deletions eng/pipelines/common/templates/pipeline-with-resources.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ extends:
linux_x64_dev_innerloop:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04

linux_musl_x64_dev_innerloop:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode

# We use a CentOS Stream 8 image here to test building from source on CentOS Stream 8.
SourceBuild_centos_x64:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
Expand Down
73 changes: 15 additions & 58 deletions eng/pipelines/global-build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The purpose of this pipeline is to exercise local developer workflow in the consolidated
# runtime repo. In particular, it is supposed to run the root "build" script just like any
# normal developer normally would and monitor regressions w.r.t. this fundamental scenario.
# The purpose of this pipeline is to exercise various developer workflows in the repo.
# Primarily, it is meant to cover local (non-cross) build scenarios and
# source-build scenarios that commonly cause build breaks.

trigger: none

Expand Down Expand Up @@ -41,28 +41,6 @@ extends:
- stage: Build
jobs:

#
# Build with Release config and Debug runtimeConfiguration
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: release
platforms:
- windows_x86
- osx_x64
- osx_arm64
jobParameters:
testGroup: innerloop
nameSuffix: Runtime_Debug
buildArgs: -c release -runtimeConfiguration debug
timeoutInMinutes: 120
condition:
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Build with Release config and runtimeConfiguration with MSBuild generator
#
Expand All @@ -83,26 +61,6 @@ extends:
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Build with Debug config and Release runtimeConfiguration
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- linux_x64_dev_innerloop
jobParameters:
testGroup: innerloop
nameSuffix: Runtime_Release
buildArgs: -c debug -runtimeConfiguration release
timeoutInMinutes: 120
condition:
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Build with RuntimeFlavor only. This exercise code paths where only RuntimeFlavor is
# specified. Catches cases where we depend on Configuration also being specified
Expand All @@ -124,38 +82,37 @@ extends:
eq(variables['isRollingBuild'], true))

#
# Build Mono + Libraries. This exercises the code path where we build libraries without
# first building CoreCLR
# Build Libraries AllConfigurations. This exercises the code path where we build libraries for all
# configurations on a non Windows operating system.
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- windows_x64
- linux_x64_dev_innerloop
jobParameters:
testGroup: innerloop
nameSuffix: Mono_Libraries
buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono
nameSuffix: Libraries_AllConfigurations
buildArgs: -subset libs -allconfigurations
timeoutInMinutes: 120
condition:
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Build Libraries AllConfigurations. This exercises the code path where we build libraries for all
# configurations on a non Windows operating system.
# Build native assets on Alpine. This exercises more modern musl libc changes that have a tendendy to break source-build.
# 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.
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
buildConfig: release
platforms:
- linux_x64_dev_innerloop
- linux_musl_x64_dev_innerloop
jobParameters:
nameSuffix: Libraries_AllConfigurations
buildArgs: -subset libs -allconfigurations
nameSuffix: Musl_Validation
buildArgs: -subset clr.native+libs.native+host.native -c $(_BuildConfig)
timeoutInMinutes: 120
condition:
or(
Expand Down

0 comments on commit 8f1e68a

Please sign in to comment.