Skip to content
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
3 changes: 2 additions & 1 deletion eng/pipelines/libraries/helix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ parameters:
runtimeFlavor: ''
archType: ''
buildConfig: ''
helixBuildConfig: ''
Comment thread
agocke marked this conversation as resolved.
creator: ''
helixQueues: ''
osGroup: ''
Expand All @@ -24,7 +25,7 @@ steps:
/p:RuntimeFlavor=${{ parameters.runtimeFlavor }}
/p:TargetArchitecture=${{ parameters.archType }}
/p:TargetRuntimeIdentifier=${{ parameters.targetRid }}
/p:Configuration=${{ parameters.buildConfig }}
/p:Configuration=${{ coalesce(parameters.helixBuildConfig, parameters.buildConfig) }}
Comment thread
agocke marked this conversation as resolved.
/p:TargetOS=${{ parameters.osGroup }}
/p:MonoForceInterpreter=${{ parameters.interpreter }}
/p:TestScope=${{ parameters.testScope }}
Expand Down
244 changes: 68 additions & 176 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -289,12 +289,16 @@ extends:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- linux_x64
- linux_musl_x64
- osx_arm64
- windows_x64
variables:
- name: librariesContainsChange
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
Comment thread
agocke marked this conversation as resolved.
Comment thread
agocke marked this conversation as resolved.
jobParameters:
nameSuffix: CoreCLR_Libraries
buildArgs: -s clr+libs+libs.tests -rc Release -c $(_BuildConfig) /p:ArchiveTests=true
Expand All @@ -312,14 +316,16 @@ extends:
tarCompression: $(tarCompression)
artifactName: CoreCLR_Libraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
displayName: Build Assets
- template: /eng/pipelines/common/upload-artifact-step.yml
- template: /eng/pipelines/libraries/helix.yml
parameters:
rootFolder: $(Build.SourcesDirectory)/artifacts/helix
includeRootFolder: false
archiveType: $(archiveType)
archiveExtension: $(archiveExtension)
tarCompression: $(tarCompression)
artifactName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
creator: dotnet-bot
testRunNamePrefixSuffix: coreclr_release
testScope: innerloop
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['isRollingBuild'], true))
Comment thread
agocke marked this conversation as resolved.
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
Expand All @@ -329,9 +335,13 @@ extends:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
platforms:
- windows_x86
variables:
- name: librariesContainsChange
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
Comment thread
agocke marked this conversation as resolved.
jobParameters:
nameSuffix: CoreCLR_Libraries
buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
Expand All @@ -346,14 +356,17 @@ extends:
tarCompression: $(tarCompression)
artifactName: CoreCLR_Libraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
displayName: Build Assets
- template: /eng/pipelines/common/upload-artifact-step.yml
- template: /eng/pipelines/libraries/helix.yml
parameters:
rootFolder: $(Build.SourcesDirectory)/artifacts/helix
includeRootFolder: false
archiveType: $(archiveType)
archiveExtension: $(archiveExtension)
tarCompression: $(tarCompression)
artifactName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
helixBuildConfig: Release
creator: dotnet-bot
testRunNamePrefixSuffix: coreclr_release
testScope: innerloop
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['isRollingBuild'], true))
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
Expand Down Expand Up @@ -397,10 +410,17 @@ extends:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- linux_arm64
- osx_arm64
variables:
- name: librariesContainsChange
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- name: coreclrContainsChange
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'] ]
Comment thread
agocke marked this conversation as resolved.
Comment thread
agocke marked this conversation as resolved.
jobParameters:
nameSuffix: Libraries_CheckedCoreCLR
buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) -rc Checked /p:ArchiveTests=true
Expand All @@ -419,14 +439,19 @@ extends:
tarCompression: $(tarCompression)
artifactName: Libraries_CheckedCoreCLR_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
displayName: Build Assets
- template: /eng/pipelines/common/upload-artifact-step.yml
- template: /eng/pipelines/libraries/helix.yml
parameters:
Comment thread
agocke marked this conversation as resolved.
rootFolder: $(Build.SourcesDirectory)/artifacts/helix
includeRootFolder: false
archiveType: $(archiveType)
archiveExtension: $(archiveExtension)
tarCompression: $(tarCompression)
artifactName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
creator: dotnet-bot
testRunNamePrefixSuffix: coreclr_checked
testScope: innerloop
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(variables['coreclrContainsChange'], true),
and(
eq(variables['osGroup'], 'osx'),
eq(variables['librariesContainsChange'], true)),
eq(variables['isRollingBuild'], true))
Comment thread
agocke marked this conversation as resolved.
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/native-test-assets-variables.yml
parameters:
Expand Down Expand Up @@ -478,10 +503,15 @@ extends:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- linux_musl_x64
- windows_x86
variables:
- name: coreclrContainsChange
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'] ]
Comment thread
agocke marked this conversation as resolved.
jobParameters:
nameSuffix: Libraries_CheckedCoreCLR
buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) -rc Checked /p:ArchiveTests=true
Expand All @@ -496,14 +526,16 @@ extends:
tarCompression: $(tarCompression)
artifactName: Libraries_CheckedCoreCLR_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
displayName: Build Assets
- template: /eng/pipelines/common/upload-artifact-step.yml
- template: /eng/pipelines/libraries/helix.yml
parameters:
rootFolder: $(Build.SourcesDirectory)/artifacts/helix
includeRootFolder: false
archiveType: $(archiveType)
archiveExtension: $(archiveExtension)
tarCompression: $(tarCompression)
artifactName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
creator: dotnet-bot
testRunNamePrefixSuffix: coreclr_checked
testScope: innerloop
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(variables['coreclrContainsChange'], true),
eq(variables['isRollingBuild'], true))
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
Expand Down Expand Up @@ -577,6 +609,8 @@ extends:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
buildConfig: checked
platforms:
- linux_x64
Expand All @@ -600,14 +634,13 @@ extends:
tarCompression: $(tarCompression)
artifactName: CoreCLR_ReleaseLibraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
displayName: Build Assets
- template: /eng/pipelines/common/upload-artifact-step.yml
- template: /eng/pipelines/libraries/helix.yml
parameters:
rootFolder: $(Build.SourcesDirectory)/artifacts/helix
includeRootFolder: false
archiveType: $(archiveType)
archiveExtension: $(archiveExtension)
tarCompression: $(tarCompression)
artifactName: CoreCLR_ReleaseLibraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
helixBuildConfig: Release
creator: dotnet-bot
testRunNamePrefixSuffix: coreclr_checked
testScope: innerloop
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
Expand Down Expand Up @@ -1862,147 +1895,6 @@ extends:
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Libraries Release Test Execution against a release coreclr runtime
# Only when the PR contains a libraries change
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- windows_x86
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
jobParameters:
isOfficialBuild: false
testScope: innerloop
liveRuntimeBuildConfig: release
unifiedArtifactsName: CoreCLR_Libraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
helixArtifactsName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
unifiedBuildNameSuffix: CoreCLR_Libraries
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Libraries Debug Test Execution against a release coreclr runtime
# Only when the PR contains a libraries change
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- windows_x64
- osx_arm64
- linux_x64
- linux_musl_x64
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
jobParameters:
isOfficialBuild: false
testScope: innerloop
liveRuntimeBuildConfig: release
unifiedArtifactsName: CoreCLR_Libraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(debugOnPrReleaseOnRolling)
helixArtifactsName: CoreCLR_Libraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(debugOnPrReleaseOnRolling)
unifiedBuildNameSuffix: CoreCLR_Libraries
unifiedBuildConfigOverride: ${{ variables.debugOnPrReleaseOnRolling }}
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(stageDependencies.EvaluatePaths.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-arm64 | Debug | Release |
# | linux-musl-arm | Release | Release |
# | linux-musl-arm64 | Release | Release |
# | linux-x64 | Release | Release |
# | windows-x64 | Release | Release |

#
# 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:
- linux_arm64
- windows_x86
- linux_musl_x64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobParameters:
testScope: innerloop
liveRuntimeBuildConfig: checked
unifiedArtifactsName: Libraries_CheckedCoreCLR_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
helixArtifactsName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
unifiedBuildNameSuffix: Libraries_CheckedCoreCLR
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# 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: Release
platforms:
- linux_musl_arm
- linux_musl_arm64
- linux_x64
- windows_x64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobParameters:
testScope: innerloop
liveRuntimeBuildConfig: checked
unifiedArtifactsName: CoreCLR_ReleaseLibraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_Checked
helixArtifactsName: CoreCLR_ReleaseLibraries_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_Checked
unifiedBuildNameSuffix: CoreCLR_ReleaseLibraries
unifiedBuildConfigOverride: checked
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(variables['isRollingBuild'], true))

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- osx_arm64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobParameters:
testScope: innerloop
liveRuntimeBuildConfig: checked
unifiedArtifactsName: Libraries_CheckedCoreCLR_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
helixArtifactsName: Libraries_CheckedCoreCLR_TestArtifacts_$(osGroup)$(osSubgroup)_$(archType)_$(_BuildConfig)
unifiedBuildNameSuffix: Libraries_CheckedCoreCLR
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
condition: >-
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Build and test Mono Interpreter with the libraries testss
#
Expand Down
Loading