Skip to content
Merged
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
62 changes: 43 additions & 19 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -738,15 +738,11 @@ jobs:
- OSX_x64
- windows_x64
- FreeBSD_x64
- ${{ if eq(variables['isRollingBuild'], false) }}:
# we need to build windows_x86 for debug on PRs in order to test
# against a checked runtime when the PR contains coreclr changes
- windows_x86
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This build was only necessary on coreclr changes.

jobParameters:
testScope: innerloop

#
# Libraries Build that only run when coreclr is changed
# Libraries debug build that only runs when coreclr is changed
# Only do this on PR builds since we use the Release builds for these test runs in CI
# and those are already built above
#
Expand All @@ -756,9 +752,23 @@ jobs:
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: Debug
platforms:
- Linux_arm
- Linux_musl_arm
- Linux_musl_arm64
Comment on lines -759 to -761
Copy link
Member Author

@jakobbotsch jakobbotsch May 16, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These three debug builds are no longer needed: we no longer run Linux_arm in PRs (replaced by Linux_arm64) and Linux_musl_arm/Linux_musl_arm64 now run in release for coreclr changes. However, windows-x86 is moved here (see comment above).

- windows_x86
jobParameters:
condition: >-
eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true)

#
# Libraries release build that only runs when coreclr is changed in PRs
# We need these for checked coreclr + release libraries tests runs.
#
- ${{ if eq(variables['isRollingBuild'], false) }}:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: Release
platforms:
- Linux_x64
- windows_x64
jobParameters:
condition: >-
eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true)
Expand Down Expand Up @@ -803,12 +813,12 @@ jobs:
parameters:
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- Linux_arm
- Linux_musl_arm
- Linux_musl_arm64
- windows_x86
- windows_arm
- windows_arm64
- Linux_arm
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unintentional change, but don't want to run CI again.

jobParameters:
liveRuntimeBuildConfig: release
liveLibrariesBuildConfig: Release
Expand Down Expand Up @@ -1115,20 +1125,33 @@ jobs:
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(variables['isRollingBuild'], true))

# The next three jobs run checked coreclr + <either debug or release in PR> libraries tests.
# The matrix looks like the following, where the right columns specify which configurations
# the libraries tests are built in.
# ________________________________________
# | Platform | PR | Rolling |
# | ---------------- | ------- | ------- |
# | linux-arm64 | Debug | Release |
# | windows-x86 | Debug | Release |
# | linux-musl-x64 | Debug | Release |
# | OSX-x64 | Debug | Release |
# | linux-musl-arm | Release | Release |
# | linux-musl-arm64 | Release | Release |
# | linux-x64 | Release | Release |
# | windows-x64 | Release | Release |

#
# Libraries Test Execution against a checked runtime
# Debug (PR) / Release (rolling) Libraries Test Execution against a checked runtime
# Only when the PR contains a coreclr change
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
# - windows_arm return this when https://github.com/dotnet/runtime/issues/1097 is fixed.
- Linux_arm
- Linux_musl_arm
- Linux_musl_arm64
- Linux_arm64
- windows_x86
- Linux_musl_x64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobParameters:
Expand All @@ -1140,17 +1163,18 @@ jobs:
eq(variables['isRollingBuild'], true))

#
# Libraries Test Execution against a checked runtime
# Release Libraries Test Execution against a checked runtime
# Only if CoreCLR or Libraries is changed
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
buildConfig: Release
platforms:
- windows_x64
- Linux_musl_arm
- Linux_musl_arm64
- Linux_x64
- Linux_musl_x64
- windows_x64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobParameters:
Expand All @@ -1176,4 +1200,4 @@ jobs:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(variables['isRollingBuild'], true))
eq(variables['isRollingBuild'], true))