Skip to content

Commit

Permalink
Switch checked coreclr + libraries tests configs around in PRs (#69180)
Browse files Browse the repository at this point in the history
We previously ran checked coreclr + libraries tests only with the libraries tests in the following configuration:

# ________________________________________
# | Platform         | PR      | Rolling |
# | ---------------- | ------- | ------- |
# | windows-x86      | Debug   | Release |
# | linux-musl-x64   | Debug   | Release |
# | OSX-x64          | Debug   | Release |
# | linux-arm        | Debug   | Release |
# | linux-musl-arm   | Debug   | Release |
# | linux-musl-arm64 | Debug   | Release |
# | linux-x64        | Debug   | Release |
# | windows-x64      | Debug   | Release |

This change swaps out linux-arm for linux-arm64 and changes the bottom 4 configurations to run in release
on PRs, making the matrix

# ________________________________________
# | Platform         | PR      | Rolling |
# | ---------------- | ------- | ------- |
# | windows-x86      | Debug   | Release |
# | linux-musl-x64   | Debug   | Release |
# | OSX-x64          | Debug   | Release |
# | linux-arm64      | Debug   | Release |
# | linux-musl-arm   | Release | Release |
# | linux-musl-arm64 | Release | Release |
# | linux-x64        | Release | Release |
# | windows-x64      | Release | Release |

The idea is to increase the variety of testing done in PRs.
  • Loading branch information
jakobbotsch committed May 24, 2022
1 parent 7d864e3 commit 2a99e18
Showing 1 changed file with 43 additions and 19 deletions.
62 changes: 43 additions & 19 deletions eng/pipelines/runtime.yml
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
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
- 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
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))

0 comments on commit 2a99e18

Please sign in to comment.