Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refresh our "dev-innerloop" pipeline jobs #101304

Merged
merged 5 commits into from
Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading