Docker Images
=============
-This table of images might often become stale as we change our images as our requirements change. The images used for our our official builds can be found in [the platform matrix](../../../../eng/pipelines/common/platform-matrix.yml) of our Azure DevOps builds under the `container` key of the platform you plan to build.
+This table of images might often become stale as we change our images as our requirements change. The images used for our our official builds can be found in [the pipeline resources](../../../../eng/pipelines/common/templates/pipeline-with-resources.yml) of our Azure DevOps builds under the `container` key of the platform you plan to build.
| OS | Target Arch | Image location | crossrootfs location | Clang Version |
| --------------------------- | --------------- | ---------------------------------------------------------------------------------------------------- | -------------------- | ------------- |
container: ''
testGroup: ''
crossBuild: false
- crossrootfsDir: ''
timeoutInMinutes: ''
signBinaries: false
stagedBuild: false
container: ${{ parameters.container }}
testGroup: ${{ parameters.testGroup }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
timeoutInminutes: ${{ parameters.timeoutInMinutes }}
signBinaries: ${{ parameters.signBinaries }}
stagedBuild: ${{ parameters.stagedBuild }}
container: ${{ parameters.container }}
testGroup: ${{ parameters.testGroup }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
timeoutInminutes: ${{ parameters.timeoutInMinutes }}
variables: ${{ parameters.variables }}
pool: ${{ parameters.pool }}
osSubgroup: ''
container: ''
crossBuild: false
- crossrootfsDir: ''
variables: []
targetRid: ''
timeoutInMinutes: ''
targetRid: linux-arm
platform: Linux_arm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-cross-arm-20220907130538-70ed2e8
- registry: mcr
+ container: Linux_arm
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/arm'
${{ insert }}: ${{ parameters.jobParameters }}
# Linux armv6
targetRid: linux-armv6
platform: Linux_armv6
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-20.04-cross-armv6-raspbian-10-20211208135931-e6e3ac4
- registry: mcr
+ container: Linux_armv6
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/armv6'
${{ insert }}: ${{ parameters.jobParameters }}
# Linux arm64
targetRid: linux-arm64
platform: Linux_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- ${{ if eq(parameters.container, '') }}:
- image: ubuntu-18.04-cross-arm64-20220907130538-70ed2e8
- ${{ if ne(parameters.container, '') }}:
+ ${{ if eq(parameters.container, '') }}:
+ container: Linux_arm64
+ ${{ if ne(parameters.container, '') }}:
+ container:
image: ${{ parameters.container }}
- registry: mcr
+ registry: mcr
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/arm64'
${{ insert }}: ${{ parameters.jobParameters }}
# Linux musl x64
targetRid: linux-musl-x64
platform: Linux_musl_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: alpine-3.13-WithNode-20210910135845-c401c85
- registry: mcr
+ container: Linux_musl_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: linux-musl-arm
platform: Linux_musl_arm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-cross-arm-alpine-20220915134743-78f7860
- registry: mcr
+ container: Linux_musl_arm
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/arm'
${{ insert }}: ${{ parameters.jobParameters }}
# Linux musl arm64
targetRid: linux-musl-arm64
platform: Linux_musl_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-22.04-cross-arm64-alpine-20220915142421-44c622d
- registry: mcr
+ container: Linux_musl_arm64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/arm64'
${{ insert }}: ${{ parameters.jobParameters }}
# Linux Bionic arm64
targetRid: linux-bionic-arm64
platform: Linux_bionic_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-android-20220808192756-8fcaabc
- registry: mcr
+ container: Linux_bionic
jobParameters:
runtimeFlavor: mono
# We build on Linux, but the test queue runs Windows, so
targetRid: linux-bionic-x64
platform: Linux_bionic_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-android-20220808192756-8fcaabc
- registry: mcr
+ container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: linux-x64
platform: Linux_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- ${{ if eq(parameters.container, '') }}:
- image: centos-7-20210714125435-9b5bbc2
- ${{ if ne(parameters.container, '') }}:
+ ${{ if eq(parameters.container, '') }}:
+ container: Linux_x64
+ ${{ if ne(parameters.container, '') }}:
+ container:
image: ${{ parameters.container }}
- registry: mcr
+ registry: mcr
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: linux-x86
platform: Linux_x86
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-cross-x86-linux-20211022152824-f853169
- registry: mcr
+ container: Linux_x86
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/x86'
disableClrTest: true
${{ insert }}: ${{ parameters.jobParameters }}
targetRid: linux-x64
platform: Linux_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: centos-7-source-build-20210714125450-5d87b80
- registry: mcr
+ container: SourceBuild_Linux_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: linux-s390x
platform: Linux_s390x
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-cross-s390x-20201102145728-d6e0352
- registry: mcr
+ container: Linux_s390x
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/s390x'
${{ insert }}: ${{ parameters.jobParameters }}
# Linux PPC64le
targetRid: linux-ppc64le
platform: Linux_ppc64le
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-cross-ppc64le-20220531132048-b9de666
- registry: mcr
+ container: Linux_ppc64le
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/ppc64le'
${{ insert }}: ${{ parameters.jobParameters }}
# WebAssembly
targetRid: browser-wasm
platform: Browser_wasm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-webassembly-20220531132048-00a561c
- registry: mcr
+ container: Browser_wasm
jobParameters:
hostedOs: Linux
runtimeFlavor: ${{ parameters.runtimeFlavor }}
targetRid: browser-wasm
platform: Browser_wasm_firefox
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-webassembly-20220531132048-00a561c
- registry: mcr
+ container: Browser_wasm
jobParameters:
hostedOs: Linux
runtimeFlavor: ${{ parameters.runtimeFlavor }}
targetRid: freebsd-x64
platform: FreeBSD_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-cross-freebsd-12-20210917001307-f13d79e
- registry: mcr
+ container: FreeBSD_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/x64'
${{ insert }}: ${{ parameters.jobParameters }}
# Android x64
targetRid: android-x64
platform: Android_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-android-20220808192756-8fcaabc
- registry: mcr
+ container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: android-x86
platform: Android_x86
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-android-20220808192756-8fcaabc
- registry: mcr
+ container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: android-arm
platform: Android_arm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-android-20220808192756-8fcaabc
- registry: mcr
+ container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: android-arm64
platform: Android_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-android-20220808192756-8fcaabc
- registry: mcr
+ container: Linux_bionic
jobParameters:
runtimeFlavor: mono
stagedBuild: ${{ parameters.stagedBuild }}
targetRid: tizen-armel
platform: Tizen_armel
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: ubuntu-18.04-cross-armel-tizen-20210719212651-8b02f56
- registry: mcr
+ container: Tizen_armel
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
crossBuild: true
- crossrootfsDir: '/crossrootfs/armel'
disableClrTest: true
${{ insert }}: ${{ parameters.jobParameters }}
--- /dev/null
+parameters:
+ - name: stages
+ type: stageList
+
+resources:
+ containers:
+ - container: Linux_arm
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm-20220907130538-70ed2e8
+ env:
+ ROOTFS_DIR: /crossrootfs/arm
+
+ - container: Linux_armv6
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-armv6-raspbian-10-20211208135931-e6e3ac4
+ env:
+ ROOTFS_DIR: /crossrootfs/armv6
+
+ - container: Linux_arm64
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm64-20220907130538-70ed2e8
+ env:
+ ROOTFS_DIR: /crossrootfs/arm64
+
+ - container: Linux_musl_x64
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.13-WithNode-20210910135845-c401c85
+
+ - container: Linux_musl_arm
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm-alpine-20220915134743-78f7860
+ env:
+ ROOTFS_DIR: /crossrootfs/arm
+
+ - container: Linux_musl_arm64
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm64-alpine-20220915142421-44c622d
+ env:
+ ROOTFS_DIR: /crossrootfs/arm64
+ # This container contains all required toolsets to build for Android and for Linux with bionic libc.
+
+ - container: Linux_bionic
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-android-20220808192756-8fcaabc
+
+ - container: Linux_x64
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-20210714125435-9b5bbc2
+
+ - container: Linux_x86
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-x86-linux-20211022152824-f853169
+ env:
+ ROOTFS_DIR: /crossrootfs/x86
+
+ - container: SourceBuild_Linux_x64
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build-20210714125450-5d87b80
+
+ - container: Linux_s390x
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-s390x-20201102145728-d6e0352
+ env:
+ ROOTFS_DIR: /crossrootfs/s390x
+
+ - container: Linux_ppc64le
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-ppc64le-20220531132048-b9de666
+ env:
+ ROOTFS_DIR: /crossrootfs/ppc64le
+
+ - container: Browser_wasm
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-webassembly-20220531132048-00a561c
+
+ - container: FreeBSD_x64
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-freebsd-12-20210917001307-f13d79e
+ env:
+ ROOTFS_DIR: /crossrootfs/x64
+
+ - container: Tizen_armel
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-armel-tizen-20210719212651-8b02f56
+ env:
+ ROOTFS_DIR: /crossrootfs/armel
+
+ - container: debpkg
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-debpkg-20220504035737-cfdd435
+
+ - container: rpmpkg
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-rpmpkg-20210714125410-daa5116
+
+stages: ${{ parameters.stages }}
osSubgroup: ''
container: ''
testGroup: ''
- crossrootfsDir: ''
liveLibrariesBuildConfig: ''
helixQueues: ''
stagedBuild: false
enableMicrobuild: ''
gatherAssetManifests: false
shouldContinueOnError: false
-
-
+
+
steps:
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) /p:LibrariesConfiguration=${{ parameters.buildConfig }} -ci -mono os ${{ parameters.osGroup }} ${{ parameters.archType }} /p:RuntimeVariant=${{ parameters.runtimeVariant }} $(buildConfigUpper)
displayName: Build Tests
helixProjectArguments: '$(Build.SourcesDirectory)/src/tests/Common/helixpublishwitharcade.proj'
- scenarios: normal
\ No newline at end of file
+ scenarios: normal
container: ''
testGroup: ''
crossBuild: false
- crossrootfsDir: ''
readyToRun: false
liveLibrariesBuildConfig: ''
compositeBuildMode: false
container: ${{ parameters.container }}
testGroup: ${{ parameters.testGroup }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
stagedBuild: ${{ parameters.stagedBuild }}
liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }}
helixType: 'build/tests/'
container: ''
testGroup: ''
crossBuild: false
- crossrootfsDir: ''
readyToRun: false
liveLibrariesBuildConfig: ''
compositeBuildMode: false
helixType: '(unspecified)'
container: ''
crossBuild: false
- crossrootfsDir: ''
stagedBuild: false
strategy: ''
pool: ''
--- /dev/null
+parameters:
+ - name: jobs
+ type: jobList
+
+extends:
+ template: pipeline-with-resources.yml
+ parameters:
+ stages:
+ - stage: Build
+ jobs: ${{ parameters.jobs }}
- name: logRootNameArg
value: '-log:'
- - ${{ if ne(parameters.jobParameters.crossrootfsDir, '') }}:
- # This is only required for cross builds.
- - name: ROOTFS_DIR
- value: ${{ parameters.jobParameters.crossrootfsDir }}
-
- name: runtimeFlavorName
${{ if eq(parameters.jobParameters.runtimeFlavor, 'mono') }}:
value: Mono
${{ if ne(parameters.container, '') }}:
${{ if eq(parameters.container.registry, 'mcr') }}:
container: ${{ format('{0}:{1}', 'mcr.microsoft.com/dotnet-buildtools/prereqs', parameters.container.image) }}
- ${{ if ne(parameters.container.registry, 'mcr') }}:
+ ${{ if and(ne(parameters.container.image, ''), ne(parameters.container.registry, 'mcr')) }}:
container: ${{ format('{0}:{1}', parameters.container.registry, parameters.container.image) }}
+ ${{ if eq(parameters.container.image, '') }}:
+ container: ${{ parameters.container }}
${{ if eq(parameters.jobParameters.pool, '') }}:
pool:
- main
always: false # run only if there were changes since the last successful scheduled run.
-jobs:
-
-#
-# Debug builds
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: debug
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_musl_arm64
- - Linux_musl_x64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
- - windows_arm
- - windows_arm64
- jobParameters:
- testGroup: outerloop
+ jobs:
-#
-# Checked builds
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platformGroup: all
- platforms:
- # It is too early to include OSX_arm64 in platform group all
- # Adding it here will enable it also
- - OSX_arm64
- jobParameters:
- testGroup: outerloop
+ #
+ # Debug builds
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: debug
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_arm64
+ - Linux_musl_x64
+ - Linux_x64
+ - OSX_arm64
+ - OSX_x64
+ - windows_arm
+ - windows_arm64
+ jobParameters:
+ testGroup: outerloop
-#
-# Release builds
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: release
- platforms:
- - Linux_arm
- - Linux_musl_arm64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
- - windows_x86
- jobParameters:
- testGroup: outerloop
+ #
+ # Checked builds
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platformGroup: all
+ platforms:
+ # It is too early to include OSX_arm64 in platform group all
+ # Adding it here will enable it also
+ - OSX_arm64
+ jobParameters:
+ testGroup: outerloop
-#
-# Release library builds
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platformGroup: all
- platforms:
- # It is too early to include OSX_arm64 in platform group all
- # Adding it here will enable it also
- - OSX_arm64
- jobParameters:
- isOfficialBuild: false
- liveRuntimeBuildConfig: checked
+ #
+ # Release builds
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: release
+ platforms:
+ - Linux_arm
+ - Linux_musl_arm64
+ - Linux_x64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x86
+ jobParameters:
+ testGroup: outerloop
-#
-# Checked test builds
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- testGroup: outerloop
+ #
+ # Release library builds
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platformGroup: all
+ platforms:
+ # It is too early to include OSX_arm64 in platform group all
+ # Adding it here will enable it also
+ - OSX_arm64
+ jobParameters:
+ isOfficialBuild: false
+ liveRuntimeBuildConfig: checked
-#
-# Checked JIT test runs
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platformGroup: all
- platforms:
- # It is too early to include OSX_arm64 in platform group all
- # Adding it here will enable it to also run this test
- - OSX_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
+ #
+ # Checked test builds
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ testGroup: outerloop
-#
-# Checked R2R test runs
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm64
- - Linux_x64
- - OSX_x64
- - windows_x64
- - windows_x86
- - windows_arm
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- readyToRun: true
- displayNameArgs: R2R_CG2
- liveLibrariesBuildConfig: Release
+ #
+ # Checked JIT test runs
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platformGroup: all
+ platforms:
+ # It is too early to include OSX_arm64 in platform group all
+ # Adding it here will enable it to also run this test
+ - OSX_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
-#
-# Formatting
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/format-job.yml
- platforms:
- - Linux_x64
- - windows_x64
+ #
+ # Checked R2R test runs
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_musl_arm64
+ - Linux_x64
+ - OSX_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ readyToRun: true
+ displayNameArgs: R2R_CG2
+ liveLibrariesBuildConfig: Release
+
+ #
+ # Formatting
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/format-job.yml
+ platforms:
+ - Linux_x64
+ - windows_x64
# - main
# always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: clrinterpreter
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: clrinterpreter
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: clrinterpreter
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: clrinterpreter
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: clrinterpreter
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: clrinterpreter
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
- - windows_x86
- - windows_x64
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
- - windows_x86
- - windows_x64
- - windows_arm64
- jobParameters:
- testGroup: innerloop
- readyToRun: true
- compositeBuildMode: true
- displayNameArgs: Composite
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ testGroup: innerloop
+ readyToRun: true
+ compositeBuildMode: true
+ displayNameArgs: Composite
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- # See https://github.com/dotnet/runtime/issues/71931
- # - OSX_x64
- - windows_x64
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gcstress-extra
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gcstress-extra
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ # See https://github.com/dotnet/runtime/issues/71931
+ # - OSX_x64
+ - windows_x64
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gcstress-extra
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- # See https://github.com/dotnet/runtime/issues/71931
- # - OSX_x64
- - windows_x64
- - windows_arm64
- jobParameters:
- testGroup: gcstress-extra
- readyToRun: true
- compositeBuildMode: true
- displayNameArgs: Composite
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gcstress-extra
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ # See https://github.com/dotnet/runtime/issues/71931
+ # - OSX_x64
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ testGroup: gcstress-extra
+ readyToRun: true
+ compositeBuildMode: true
+ displayNameArgs: Composite
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
- - windows_x86
- - windows_x64
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - windows_x86
- - windows_x64
- jobParameters:
- testGroup: outerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
- - windows_x86
- - windows_x64
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- isOfficialBuild: false
- liveRuntimeBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_arm64
+ - windows_x86
+ - windows_x64
+ jobParameters:
+ testGroup: outerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ isOfficialBuild: false
+ liveRuntimeBuildConfig: Release
-# Test most platforms in composite mode as the expected mainline shipping mode
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
- - windows_x64
- - windows_arm64
- jobParameters:
- testGroup: outerloop
- readyToRun: true
- compositeBuildMode: true
- displayNameArgs: R2R_Composite
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
-# Outerloop testing in non-composite mode
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_x64
- - OSX_arm64
- - windows_arm64
- - windows_x64
- - windows_x86
- jobParameters:
- testGroup: outerloop
- readyToRun: true
- displayNameArgs: R2R
- liveLibrariesBuildConfig: Release
+ # Test most platforms in composite mode as the expected mainline shipping mode
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ testGroup: outerloop
+ readyToRun: true
+ compositeBuildMode: true
+ displayNameArgs: R2R_Composite
+ liveLibrariesBuildConfig: Release
-# Build Crossgen2 baselines
-# These are the various crossgen2 targets that are supported, and cover all major
-# significantly different code generators
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-build-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - windows_x86
- - windows_x64
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
+ # Outerloop testing in non-composite mode
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_x64
+ - OSX_arm64
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ jobParameters:
+ testGroup: outerloop
+ readyToRun: true
+ displayNameArgs: R2R
+ liveLibrariesBuildConfig: Release
-# test crossgen target Windows X86
-# This job verifies that 32-bit and 64 bit crossgen2 produces the same binaries,
-# and that cross-os targeting works
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
- buildConfig: Release
- platforms:
- - Linux_x64
- - windows_x86
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- targetos: windows
- targetarch: x86
+ # Build Crossgen2 baselines
+ # These are the various crossgen2 targets that are supported, and cover all major
+ # significantly different code generators
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-build-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_arm64
+ - windows_x86
+ - windows_x64
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
-# test target Linux X64
-# verify that cross OS targeting works
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
- buildConfig: Release
- platforms:
- - windows_x64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- targetos: Linux
- targetarch: x64
+ # test crossgen target Windows X86
+ # This job verifies that 32-bit and 64 bit crossgen2 produces the same binaries,
+ # and that cross-os targeting works
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_x64
+ - windows_x86
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ targetos: windows
+ targetarch: x86
-# test target Windows X64
-# verify that cross OS targeting works
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
- buildConfig: Release
- platforms:
- - Linux_x64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- targetos: windows
- targetarch: x64
+ # test target Linux X64
+ # verify that cross OS targeting works
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
+ buildConfig: Release
+ platforms:
+ - windows_x64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ targetos: Linux
+ targetarch: x64
-# test target Linux arm
-# verify that cross architecture targeting works
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- targetos: Linux
- targetarch: arm
+ # test target Windows X64
+ # verify that cross OS targeting works
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_x64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ targetos: windows
+ targetarch: x64
-# test target Linux arm64
-# verify that cross architecture targeting works
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- targetos: Linux
- targetarch: arm64
+ # test target Linux arm
+ # verify that cross architecture targeting works
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ targetos: Linux
+ targetarch: arm
-# test target osx-arm64
-# verify that cross architecture targeting works
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
- buildConfig: Release
- platforms:
- - OSX_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- targetos: OSX
- targetarch: arm64
+ # test target Linux arm64
+ # verify that cross architecture targeting works
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ targetos: Linux
+ targetarch: arm64
+
+ # test target osx-arm64
+ # verify that cross architecture targeting works
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
+ buildConfig: Release
+ platforms:
+ - OSX_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ targetos: OSX
+ targetarch: arm64
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
- - windows_x64
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x64
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
- - windows_x64
- - windows_arm64
- jobParameters:
- testGroup: innerloop
- readyToRun: true
- displayNameArgs: R2R_CG2
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ testGroup: innerloop
+ readyToRun: true
+ displayNameArgs: R2R_CG2
+ liveLibrariesBuildConfig: Release
- name: toolName
value: ${{ variables['Build.DefinitionName'] }}
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- # Linux tests are built on the OSX machines.
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/jit-exploratory-job.yml
- buildConfig: checked
- platforms:
- # Linux tests are built on the OSX machines.
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - OSX_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- toolName: ${{ variables.toolName }}
\ No newline at end of file
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ # Linux tests are built on the OSX machines.
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - OSX_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/jit-exploratory-job.yml
+ buildConfig: checked
+ platforms:
+ # Linux tests are built on the OSX machines.
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - OSX_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ toolName: ${{ variables.toolName }}
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: release
- platforms:
- - Linux_x64
- - Linux_arm64
- - windows_x64
- - windows_arm64
- - OSX_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gc-longrunning
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: release
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gc-longrunning
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ - windows_x64
+ - windows_arm64
+ - OSX_x64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-longrunning
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- platforms:
- - Linux_x64
- - Linux_arm64
- - windows_x64
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: gc-longrunning
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: release
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-longrunning
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ - windows_x64
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: gc-longrunning
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: release
- platforms:
- # disable Linux x64 for now until OOMs are resolved.
- # - Linux_x64
- - Linux_arm64
- - windows_x64
- - windows_arm64
- - OSX_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gc-simulator
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: release
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gc-simulator
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: release
+ platforms:
+ # disable Linux x64 for now until OOMs are resolved.
+ # - Linux_x64
+ - Linux_arm64
+ - windows_x64
+ - windows_arm64
+ - OSX_x64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-simulator
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- platforms:
- # disable Linux x64 for now until OOMs are resolved.
- # - Linux_x64
- - Linux_arm64
- - windows_x64
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: gc-simulator
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: release
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-simulator
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ platforms:
+ # disable Linux x64 for now until OOMs are resolved.
+ # - Linux_x64
+ - Linux_arm64
+ - windows_x64
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: gc-simulator
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - windows_arm64
- - windows_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gc-standalone
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gc-standalone
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - windows_arm64
+ - windows_x64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-standalone
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: gc-standalone
- displayNameArgs: GCStandAlone
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-standalone
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: gc-standalone-server
- displayNameArgs: GCStandAloneServer
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: gc-standalone
+ displayNameArgs: GCStandAlone
+ liveLibrariesBuildConfig: Release
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: gc-standalone-server
+ displayNameArgs: GCStandAloneServer
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platformGroup: gcstress
- platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
- # Adding it here will enable it also
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gcstress-extra
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gcstress-extra
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platformGroup: gcstress
+ platforms:
+ # It is too early to include OSX_arm64 in platform group gcstress
+ # Adding it here will enable it also
+ - OSX_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gcstress-extra
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platformGroup: gcstress
- platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
- # Adding it here will enable it also
- - OSX_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: gcstress-extra
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gcstress-extra
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platformGroup: gcstress
+ platforms:
+ # It is too early to include OSX_arm64 in platform group gcstress
+ # Adding it here will enable it also
+ - OSX_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: gcstress-extra
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platformGroup: gcstress
- platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
- # Adding it here will enable it also
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gcstress0x3-gcstress0xc
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: gcstress0x3-gcstress0xc
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platformGroup: gcstress
+ platforms:
+ # It is too early to include OSX_arm64 in platform group gcstress
+ # Adding it here will enable it also
+ - OSX_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gcstress0x3-gcstress0xc
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platformGroup: gcstress
- platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
- # Adding it here will enable it also
- - OSX_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: gcstress0x3-gcstress0xc
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gcstress0x3-gcstress0xc
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platformGroup: gcstress
+ platforms:
+ # It is too early to include OSX_arm64 in platform group gcstress
+ # Adding it here will enable it also
+ - OSX_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: gcstress0x3-gcstress0xc
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: ilasm
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: ilasm
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: ilasm
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: ilasm
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: ilasm
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: ilasm
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jit-cfg
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jit-cfg
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jit-cfg
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jit-cfg
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jit-cfg
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jit-cfg
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jit-experimental
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jit-experimental
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jit-experimental
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jit-experimental
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jit-experimental
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jit-experimental
+ liveLibrariesBuildConfig: Release
- src/coreclr/inc/jiteeversionguid.h
# This pipeline is supposed to be run only on merged changes
-# and should not be triggerable from a PR.
+# and should not be triggerable from a PR.
pr: none
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
- buildConfig: release
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
\ No newline at end of file
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
+ buildConfig: release
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - OSX_arm64
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress-isas-arm
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress-isas-arm
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - OSX_arm64
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress-isas-arm
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm64
- - OSX_arm64
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jitstress-isas-arm
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress-isas-arm
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - OSX_arm64
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jitstress-isas-arm
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - OSX_x64
- - windows_x64
- - windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress-isas-x86
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress-isas-x86
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - OSX_x64
+ - windows_x64
+ - windows_x86
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress-isas-x86
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - OSX_x64
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jitstress-isas-x86
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress-isas-x86
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - OSX_x64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jitstress-isas-x86
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress-random
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress-random
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress-random
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jitstress-random
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress-random
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jitstress-random
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jitstress
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jitstress
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstress2-jitstressregs
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: checked
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstress2-jitstressregs
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jitstress2-jitstressregs
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: checked
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jitstress2-jitstressregs
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - windows_x64
- - windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstressregs-x86
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstressregs-x86
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstressregs-x86
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jitstressregs-x86
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstressregs-x86
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jitstressregs-x86
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstressregs
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: jitstressregs
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstressregs
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: jitstressregs
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: jitstressregs
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: jitstressregs
+ liveLibrariesBuildConfig: Release
# - main
# always: true
-jobs:
-
-#
-# Build CoreCLR checked and libraries Release
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platformGroup: gcstress
- jobParameters:
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-#
-# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platformGroup: gcstress
- helixQueueGroup: libraries
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
- timeoutInMinutes: 600
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- coreclrTestGroup: gcstress-extra
+ #
+ # Build CoreCLR checked and libraries Release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platformGroup: gcstress
+ jobParameters:
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
+
+ #
+ # Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platformGroup: gcstress
+ helixQueueGroup: libraries
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
+ timeoutInMinutes: 600
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ coreclrTestGroup: gcstress-extra
# - main
# always: true
-jobs:
-
-#
-# Build CoreCLR checked and libraries Release
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platformGroup: gcstress
- jobParameters:
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-#
-# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platformGroup: gcstress
- helixQueueGroup: libraries
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
- timeoutInMinutes: 600
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- coreclrTestGroup: gcstress0x3-gcstress0xc
+ #
+ # Build CoreCLR checked and libraries Release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platformGroup: gcstress
+ jobParameters:
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
+
+ #
+ # Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platformGroup: gcstress
+ helixQueueGroup: libraries
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
+ timeoutInMinutes: 600
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ coreclrTestGroup: gcstress0x3-gcstress0xc
- main
always: true
-jobs:
-
-#
-# Build CoreCLR checked and libraries Release
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - windows_x86
- - windows_x64
- - windows_arm64
- jobParameters:
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-#
-# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- - windows_x86
- helixQueueGroup: libraries
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
- timeoutInMinutes: 300
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- coreclrTestGroup: jitstress-random
+ #
+ # Build CoreCLR checked and libraries Release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
+
+ #
+ # Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: libraries
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
+ timeoutInMinutes: 300
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ coreclrTestGroup: jitstress-random
- main
always: true
-jobs:
-
-#
-# Build CoreCLR checked and libraries Release
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - windows_x86
- - windows_x64
- - windows_arm64
- jobParameters:
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-#
-# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- - windows_x86
- helixQueueGroup: libraries
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
- timeoutInMinutes: 300
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- coreclrTestGroup: jitstress
+ #
+ # Build CoreCLR checked and libraries Release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
+
+ #
+ # Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: libraries
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
+ timeoutInMinutes: 300
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ coreclrTestGroup: jitstress
- main
always: true
-jobs:
-
-#
-# Build CoreCLR checked and libraries Release
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - windows_x86
- - windows_x64
- - windows_arm64
- jobParameters:
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-#
-# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- - windows_x86
- helixQueueGroup: libraries
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
- timeoutInMinutes: 300
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- coreclrTestGroup: jitstress2-jitstressregs
+ #
+ # Build CoreCLR checked and libraries Release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
+
+ #
+ # Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: libraries
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
+ timeoutInMinutes: 300
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ coreclrTestGroup: jitstress2-jitstressregs
- main
always: true
-jobs:
-
-#
-# Build CoreCLR checked and libraries Release
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - windows_x86
- - windows_x64
- - windows_arm64
- jobParameters:
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-#
-# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- - windows_x86
- helixQueueGroup: libraries
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
- timeoutInMinutes: 300
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- coreclrTestGroup: jitstressregs
+ #
+ # Build CoreCLR checked and libraries Release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
+
+ #
+ # Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: libraries
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ # Default timeout is 150 minutes (2.5 hours), which is not enough for stress.
+ timeoutInMinutes: 300
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ coreclrTestGroup: jitstressregs
- main
always: true
-jobs:
-
-#
-# Build CoreCLR checked and libraries Release
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - windows_x86
- - windows_x64
- - windows_arm64
- jobParameters:
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-#
-# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_arm64
- - windows_x64
- - windows_x86
- helixQueueGroup: libraries
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- timeoutInMinutes: 600
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- coreclrTestGroup: pgo
+ #
+ # Build CoreCLR checked and libraries Release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm64
+ jobParameters:
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
+
+ #
+ # Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: libraries
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ timeoutInMinutes: 600
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ coreclrTestGroup: pgo
#- main
#always: true
-jobs:
-
-- template: /eng/pipelines/coreclr/perf-wasm-jobs.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- collectHelixLogsScript: ${{ variables._wasmCollectHelixLogsScript }}
- ${{ and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}:
- runProfile: 'non-v8'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}:
- runProfile: 'v8'
+ jobs:
+
+ - template: /eng/pipelines/coreclr/perf-wasm-jobs.yml
+ parameters:
+ collectHelixLogsScript: ${{ variables._wasmCollectHelixLogsScript }}
+ ${{ and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}:
+ runProfile: 'non-v8'
+ ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}:
+ runProfile: 'v8'
-- template: /eng/pipelines/coreclr/perf-non-wasm-jobs.yml
+ - template: /eng/pipelines/coreclr/perf-non-wasm-jobs.yml
- main
always: true
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-- ${{ if and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}:
-
- # build mono
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- platforms:
- - Linux_arm64
+ - ${{ if and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}:
+
+ # build mono
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ platforms:
+ - Linux_arm64
- # build coreclr and libraries
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: release
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- platforms:
- - Linux_arm64
- jobParameters:
- testGroup: perf
+ # build coreclr and libraries
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: release
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ platforms:
+ - Linux_arm64
+ jobParameters:
+ testGroup: perf
- # run arm64 interpreter jobs for mono
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
- buildConfig: release
- runtimeFlavor: mono
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- platforms:
- - Linux_arm64
- jobParameters:
- testGroup: perf
- liveLibrariesBuildConfig: Release
- runtimeType: mono
- codeGenType: 'Interpreter'
- projectFile: microbenchmarks.proj
- runKind: micro_mono
- runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
- logicalmachine: 'perfampere'
- timeoutInMinutes: 500
+ # run arm64 interpreter jobs for mono
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ platforms:
+ - Linux_arm64
+ jobParameters:
+ testGroup: perf
+ liveLibrariesBuildConfig: Release
+ runtimeType: mono
+ codeGenType: 'Interpreter'
+ projectFile: microbenchmarks.proj
+ runKind: micro_mono
+ runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
+ logicalmachine: 'perfampere'
+ timeoutInMinutes: 500
- # build mono on wasm
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- runtimeFlavor: mono
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- platforms:
- - Browser_wasm
- jobParameters:
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- nameSuffix: wasm
- isOfficialBuild: false
- extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml
- extraStepsParameters:
- rootFolder: '$(Build.SourcesDirectory)/artifacts/'
- includeRootFolder: true
- displayName: Browser Wasm Artifacts
- artifactName: BrowserWasm
- archiveType: zip
- archiveExtension: .zip
+ # build mono on wasm
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ platforms:
+ - Browser_wasm
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ nameSuffix: wasm
+ isOfficialBuild: false
+ extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml
+ extraStepsParameters:
+ rootFolder: '$(Build.SourcesDirectory)/artifacts/'
+ includeRootFolder: true
+ displayName: Browser Wasm Artifacts
+ artifactName: BrowserWasm
+ archiveType: zip
+ archiveExtension: .zip
-- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}:
+ - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}:
- # build coreclr and libraries
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: release
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- platforms:
- - Linux_arm64
- - windows_arm64
- jobParameters:
- testGroup: perf
+ # build coreclr and libraries
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: release
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ platforms:
+ - Linux_arm64
+ - windows_arm64
+ jobParameters:
+ testGroup: perf
- # build mono on wasm
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- runtimeFlavor: mono
- platforms:
- - Browser_wasm
- jobParameters:
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- nameSuffix: wasm
- isOfficialBuild: false
- extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml
- extraStepsParameters:
- rootFolder: '$(Build.SourcesDirectory)/artifacts/'
- includeRootFolder: true
- displayName: Browser Wasm Artifacts
- artifactName: BrowserWasm
- archiveType: zip
- archiveExtension: .zip
+ # build mono on wasm
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ runtimeFlavor: mono
+ platforms:
+ - Browser_wasm
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ nameSuffix: wasm
+ isOfficialBuild: false
+ extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml
+ extraStepsParameters:
+ rootFolder: '$(Build.SourcesDirectory)/artifacts/'
+ includeRootFolder: true
+ displayName: Browser Wasm Artifacts
+ artifactName: BrowserWasm
+ archiveType: zip
+ archiveExtension: .zip
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- runtimeFlavor: mono
- runtimeVariant: 'llvmaot'
- platforms:
- - Linux_arm64
- jobParameters:
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
- nameSuffix: AOT
- isOfficialBuild: false
- extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml
- extraStepsParameters:
- rootFolder: '$(Build.SourcesDirectory)/artifacts/'
- includeRootFolder: true
- displayName: AOT Mono Artifacts
- artifactName: LinuxMonoAOTarm64
- archiveExtension: '.tar.gz'
- archiveType: tar
- tarCompression: gz
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ runtimeFlavor: mono
+ runtimeVariant: 'llvmaot'
+ platforms:
+ - Linux_arm64
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
+ nameSuffix: AOT
+ isOfficialBuild: false
+ extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml
+ extraStepsParameters:
+ rootFolder: '$(Build.SourcesDirectory)/artifacts/'
+ includeRootFolder: true
+ displayName: AOT Mono Artifacts
+ artifactName: LinuxMonoAOTarm64
+ archiveExtension: '.tar.gz'
+ archiveType: tar
+ tarCompression: gz
- # run mono aot microbenchmarks perf job
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs?
- buildConfig: release
- runtimeFlavor: aot
- platforms:
- - Linux_arm64
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- jobParameters:
- testGroup: perf
- liveLibrariesBuildConfig: Release
- runtimeType: mono
- codeGenType: 'AOT'
- projectFile: microbenchmarks.proj
- runKind: micro_mono
- runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
- logicalmachine: 'perfampere'
- timeoutInMinutes: 500
+ # run mono aot microbenchmarks perf job
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs?
+ buildConfig: release
+ runtimeFlavor: aot
+ platforms:
+ - Linux_arm64
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ jobParameters:
+ testGroup: perf
+ liveLibrariesBuildConfig: Release
+ runtimeType: mono
+ codeGenType: 'AOT'
+ projectFile: microbenchmarks.proj
+ runKind: micro_mono
+ runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
+ logicalmachine: 'perfampere'
+ timeoutInMinutes: 500
-# run coreclr Linux arm64 ampere microbenchmarks perf job
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
- buildConfig: release
- runtimeFlavor: coreclr
- platforms:
- - Linux_arm64
- container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
- jobParameters:
- testGroup: perf
- liveLibrariesBuildConfig: Release
- projectFile: microbenchmarks.proj
- runKind: micro
- runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
- logicalmachine: 'perfampere'
- timeoutInMinutes: 500
+ # run coreclr Linux arm64 ampere microbenchmarks perf job
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
+ buildConfig: release
+ runtimeFlavor: coreclr
+ platforms:
+ - Linux_arm64
+ container: ubuntu-18.04-cross-arm64-20211022152824-b2c2436
+ jobParameters:
+ testGroup: perf
+ liveLibrariesBuildConfig: Release
+ projectFile: microbenchmarks.proj
+ runKind: micro
+ runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
+ logicalmachine: 'perfampere'
+ timeoutInMinutes: 500
-# run coreclr Windows arm64 microbenchmarks perf job
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
- buildConfig: release
- runtimeFlavor: coreclr
- platforms:
- - windows_arm64
- jobParameters:
- testGroup: perf
- liveLibrariesBuildConfig: Release
- projectFile: microbenchmarks.proj
- runKind: micro
- runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
- logicalmachine: 'perfsurf'
+ # run coreclr Windows arm64 microbenchmarks perf job
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
+ buildConfig: release
+ runtimeFlavor: coreclr
+ platforms:
+ - windows_arm64
+ jobParameters:
+ testGroup: perf
+ liveLibrariesBuildConfig: Release
+ projectFile: microbenchmarks.proj
+ runKind: micro
+ runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
+ logicalmachine: 'perfsurf'
-# run coreclr Windows arm64 ampere microbenchmarks perf job
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
- buildConfig: release
- runtimeFlavor: coreclr
- platforms:
- - windows_arm64
- jobParameters:
- testGroup: perf
- liveLibrariesBuildConfig: Release
- projectFile: microbenchmarks.proj
- runKind: micro
- runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
- logicalmachine: 'perfampere'
+ # run coreclr Windows arm64 ampere microbenchmarks perf job
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
+ buildConfig: release
+ runtimeFlavor: coreclr
+ platforms:
+ - windows_arm64
+ jobParameters:
+ testGroup: perf
+ liveLibrariesBuildConfig: Release
+ projectFile: microbenchmarks.proj
+ runKind: micro
+ runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
+ logicalmachine: 'perfampere'
-# Uncomment once we fix https://github.com/dotnet/performance/issues/1950
-# # run coreclr linux crossgen perf job
-# - template: /eng/pipelines/common/platform-matrix.yml
-# parameters:
-# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
-# buildConfig: release
-# runtimeFlavor: coreclr
-# platforms:
-# - Linux_arm64
-# jobParameters:
-# testGroup: perf
-# liveLibrariesBuildConfig: Release
-# projectFile: crossgen_perf.proj
-# runKind: crossgen_scenarios
-# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
-# logicalmachine: 'perfa64'
+ # Uncomment once we fix https://github.com/dotnet/performance/issues/1950
+ # # run coreclr linux crossgen perf job
+ # - template: /eng/pipelines/common/platform-matrix.yml
+ # parameters:
+ # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
+ # buildConfig: release
+ # runtimeFlavor: coreclr
+ # platforms:
+ # - Linux_arm64
+ # jobParameters:
+ # testGroup: perf
+ # liveLibrariesBuildConfig: Release
+ # projectFile: crossgen_perf.proj
+ # runKind: crossgen_scenarios
+ # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
+ # logicalmachine: 'perfa64'
-# # run coreclr windows crossgen perf job
-# - template: /eng/pipelines/common/platform-matrix.yml
-# parameters:
-# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
-# buildConfig: release
-# runtimeFlavor: coreclr
-# platforms:
-# - windows_arm64
-# jobParameters:
-# testGroup: perf
-# liveLibrariesBuildConfig: Release
-# projectFile: crossgen_perf.proj
-# runKind: crossgen_scenarios
-# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
-# logicalmachine: 'perfsurf'
+ # # run coreclr windows crossgen perf job
+ # - template: /eng/pipelines/common/platform-matrix.yml
+ # parameters:
+ # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
+ # buildConfig: release
+ # runtimeFlavor: coreclr
+ # platforms:
+ # - windows_arm64
+ # jobParameters:
+ # testGroup: perf
+ # liveLibrariesBuildConfig: Release
+ # projectFile: crossgen_perf.proj
+ # runKind: crossgen_scenarios
+ # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
+ # logicalmachine: 'perfsurf'
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - windows_arm
- - windows_arm64
- - windows_x64
- - windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: pgo
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: pgo
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_arm64
+ - windows_arm
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: pgo
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - windows_arm
- - windows_arm64
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: pgo
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: pgo
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_arm64
+ - windows_arm
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: pgo
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platformGroup: gcstress
- platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
- # Adding it here will enable it also
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: r2r-extra
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: r2r-extra
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platformGroup: gcstress
+ platforms:
+ # It is too early to include OSX_arm64 in platform group gcstress
+ # Adding it here will enable it also
+ - OSX_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: r2r-extra
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platformGroup: gcstress # r2r-extra testGroup runs gcstress0xf scenario
- platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
- # Adding it here will enable it also
- - OSX_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: r2r-extra
- readyToRun: true
- displayNameArgs: R2R
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: r2r-extra
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platformGroup: gcstress # r2r-extra testGroup runs gcstress0xf scenario
+ platforms:
+ # It is too early to include OSX_arm64 in platform group gcstress
+ # Adding it here will enable it also
+ - OSX_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: r2r-extra
+ readyToRun: true
+ displayNameArgs: R2R
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - windows_arm
- - windows_arm64
- - windows_x64
- - windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_arm64
+ - windows_arm
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - windows_arm
- - windows_arm64
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- readyToRun: true
- displayNameArgs: R2R
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - OSX_arm64
+ - windows_arm
+ - windows_arm64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ readyToRun: true
+ displayNameArgs: R2R
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-#
-# Release CoreCLR and Library builds
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: release
- platformGroup: all
- platforms:
- # It is too early to include OSX_arm64 in platform group all
- # Adding it here will enable it also
- - OSX_arm64
- jobParameters:
- isOfficialBuild: false
+ jobs:
-#
-# Release test builds
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: release
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ #
+ # Release CoreCLR and Library builds
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: release
+ platformGroup: all
+ platforms:
+ # It is too early to include OSX_arm64 in platform group all
+ # Adding it here will enable it also
+ - OSX_arm64
+ jobParameters:
+ isOfficialBuild: false
-#
-# Release test runs
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- platformGroup: all
- platforms:
- # It is too early to include OSX_arm64 in platform group all
- # Adding it here will enable it also
- - OSX_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
+ #
+ # Release test builds
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: release
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
-#
-# Release R2R test runs
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- platformGroup: all
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- readyToRun: true
- displayNameArgs: R2R
+ #
+ # Release test runs
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ platformGroup: all
+ platforms:
+ # It is too early to include OSX_arm64 in platform group all
+ # Adding it here will enable it also
+ - OSX_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+
+ #
+ # Release R2R test runs
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ platformGroup: all
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ readyToRun: true
+ displayNameArgs: R2R
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - windows_x64
- - windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- runInUnloadableContext: true
- displayNameArgs: RunInContext
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ runInUnloadableContext: true
+ displayNameArgs: RunInContext
+ liveLibrariesBuildConfig: Release
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- - windows_x86
- jobParameters:
- uploadAs: 'pipelineArtifacts'
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
- buildConfig: release
- platforms:
- - windows_x64
- - windows_x86
- jobParameters:
- uploadAs: 'pipelineArtifacts'
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ - windows_x86
+ jobParameters:
+ uploadAs: 'pipelineArtifacts'
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/superpmi-asmdiffs-checked-release-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
+ buildConfig: release
+ platforms:
+ - windows_x64
+ - windows_x86
+ jobParameters:
+ uploadAs: 'pipelineArtifacts'
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/superpmi-asmdiffs-checked-release-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
- # libraries test build platforms
- testBuildPlatforms:
- - Linux_x64
- - windows_x64
+ jobs:
-# superpmi-collect-job that targets macOS/arm64 depends on coreclr binaries produced by the macOS/x64 job
-# We don't collect osx-x64 (it's essentially the same as linux-x64). If we did, we'd add OSX_x64 in the
-# build-coreclr-and-libraries-job.yml above, and remove this.
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platforms:
- - OSX_x64
- jobParameters:
- testGroup: outerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
+ # libraries test build platforms
+ testBuildPlatforms:
+ - Linux_x64
+ - windows_x64
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ # superpmi-collect-job that targets macOS/arm64 depends on coreclr binaries produced by the macOS/x64 job
+ # We don't collect osx-x64 (it's essentially the same as linux-x64). If we did, we'd add OSX_x64 in the
+ # build-coreclr-and-libraries-job.yml above, and remove this.
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_x64
+ jobParameters:
+ testGroup: outerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- collectionType: pmi
- collectionName: libraries
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- collectionType: pmi
- collectionName: libraries_tests
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ collectionType: pmi
+ collectionName: libraries
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- collectionType: crossgen2
- collectionName: libraries
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ collectionType: pmi
+ collectionName: libraries_tests
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- collectionType: run
- collectionName: benchmarks
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ collectionType: crossgen2
+ collectionName: libraries
-#
-# Collection of coreclr test run
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - windows_x64
- - windows_x86
- - windows_arm64
- helixQueueGroup: superpmi
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- liveLibrariesBuildConfig: Release
- SuperPmiCollect: true
\ No newline at end of file
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ collectionType: run
+ collectionName: benchmarks
+
+ #
+ # Collection of coreclr test run
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: superpmi
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ liveLibrariesBuildConfig: Release
+ SuperPmiCollect: true
exclude:
- src/coreclr/inc/jiteeversionguid.h
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- - windows_x86
- jobParameters:
- uploadAs: 'pipelineArtifacts'
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
- buildConfig: release
- platforms:
- - windows_x64
- - windows_x86
- jobParameters:
- uploadAs: 'pipelineArtifacts'
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ - windows_x86
+ jobParameters:
+ uploadAs: 'pipelineArtifacts'
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/superpmi-diffs-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
\ No newline at end of file
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
+ buildConfig: release
+ platforms:
+ - windows_x64
+ - windows_x86
+ jobParameters:
+ uploadAs: 'pipelineArtifacts'
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/superpmi-diffs-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
exclude:
- src/coreclr/inc/jiteeversionguid.h
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- - windows_x86
- jobParameters:
- uploadAs: 'pipelineArtifacts'
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/superpmi-replay-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
\ No newline at end of file
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ - windows_x86
+ jobParameters:
+ uploadAs: 'pipelineArtifacts'
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/superpmi-replay-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: ''
container: ''
crossBuild: false
- crossrootfsDir: ''
osGroup: ''
osSubgroup: ''
pool: ''
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
gatherAssetManifests: true
condition: true
container: ''
crossBuild: false
- crossrootfsDir: ''
dependOnEvaluatePaths: false
disableClrTest: false
isOfficialBuild: false
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
gatherAssetManifests: true
variables:
helixQueues: ''
runtimeVariant: ''
crossBuild: false
- crossrootfsDir: ''
dependOnEvaluatePaths: false
stagedBuild: false
variables: {}
displayName: ${{ format('Test crossgen2-comparison build {0}{1} {2} {3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
variables:
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
helixQueues: ''
runtimeVariant: ''
crossBuild: false
- crossrootfsDir: ''
dependOnEvaluatePaths: false
stagedBuild: false
variables: {}
displayName: ${{ format('Test crossgen2-comparison {0}{1} {2} {3} to {4} {5}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.targetarch, parameters.targetos) }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
variables:
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
inputs:
artifact: '$(crossgencompare_build_artifact)'
path: '$(workItemDirectory)$(dir)prebuiltWork'
-
+
# Send payload to Helix where the native output is generated and compared to the baseline
- template: /eng/common/templates/steps/send-to-helix.yml
parameters:
osSubgroup: ''
container: ''
crossBuild: false
- crossrootfsDir: ''
dependOnEvaluatePaths: false
timeoutInMinutes: ''
stagedBuild: false
osSubgroup: ${{ parameters.osSubgroup }}
container: ${{ parameters.container }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
stagedBuild: ${{ parameters.stagedBuild }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
container: ''
testGroup: ''
crossBuild: false
- crossrootfsDir: ''
liveLibrariesBuildConfig: ''
stagedBuild: false
strategy: ''
helixType: ${{ parameters.helixType }}
container: ${{ parameters.container }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
stagedBuild: ${{ parameters.stagedBuild }}
strategy: ${{ parameters.strategy }}
pool: ${{ parameters.pool }}
- main
always: true
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - windows_x64
- - windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: outerloop
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- - windows_x64
- - windows_x86
- helixQueueGroup: ci
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: outerloop
- tieringTest: true
- displayNameArgs: TieringTest
- liveLibrariesBuildConfig: Release
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: outerloop
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - windows_x64
+ - windows_x86
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: outerloop
+ tieringTest: true
+ displayNameArgs: TieringTest
+ liveLibrariesBuildConfig: Release
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- - template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-#
-# 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(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # 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(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# Build with Release config and runtimeConfiguration with MSBuild generator
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- platforms:
- - windows_x86
- jobParameters:
- testGroup: innerloop
- nameSuffix: MSBuild_CMake
- buildArgs: -c Release -msbuild
- timeoutInMinutes: 120
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # Build with Release config and runtimeConfiguration with MSBuild generator
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ platforms:
+ - windows_x86
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: MSBuild_CMake
+ buildArgs: -c Release -msbuild
+ timeoutInMinutes: 120
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.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
- jobParameters:
- testGroup: innerloop
- nameSuffix: Runtime_Release
- buildArgs: -c debug -runtimeConfiguration release
- timeoutInMinutes: 120
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.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
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: Runtime_Release
+ buildArgs: -c debug -runtimeConfiguration release
+ timeoutInMinutes: 120
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.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
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: debug
- platforms:
- - Linux_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: RuntimeFlavor_Mono
- buildArgs: /p:RuntimeFlavor=Mono
- timeoutInMinutes: 120
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_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
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: debug
+ platforms:
+ - Linux_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: RuntimeFlavor_Mono
+ buildArgs: /p:RuntimeFlavor=Mono
+ timeoutInMinutes: 120
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# Build Mono + Libraries. This exercises the code path where we build libraries without
-# first building CoreCLR
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: debug
- platforms:
- - windows_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: Mono_Libraries
- buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono
- timeoutInMinutes: 120
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # Build Mono + Libraries. This exercises the code path where we build libraries without
+ # first building CoreCLR
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: debug
+ platforms:
+ - windows_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: Mono_Libraries
+ buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono
+ timeoutInMinutes: 120
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_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.
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: debug
- platforms:
- - Linux_x64
- jobParameters:
- nameSuffix: Libraries_AllConfigurations
- buildArgs: -subset libs -allconfigurations
- timeoutInMinutes: 120
- condition:
- or(
- eq(dependencies.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.
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: debug
+ platforms:
+ - Linux_x64
+ jobParameters:
+ nameSuffix: Libraries_AllConfigurations
+ buildArgs: -subset libs -allconfigurations
+ timeoutInMinutes: 120
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# SourceBuild Build
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- platforms:
- - SourceBuild_Linux_x64
- jobParameters:
- nameSuffix: PortableSourceBuild
- extraStepsParameters:
- name: SourceBuildPackages
- timeoutInMinutes: 95
+ #
+ # SourceBuild Build
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ platforms:
+ - SourceBuild_Linux_x64
+ jobParameters:
+ nameSuffix: PortableSourceBuild
+ extraStepsParameters:
+ name: SourceBuildPackages
+ timeoutInMinutes: 95
osSubgroup: ''
platform: ''
crossBuild: false
- crossrootfsDir: ''
timeoutInMinutes: 120
condition: true
shouldContinueOnError: false
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
gatherAssetManifests: true
variables:
archType: ''
osSubgroup: ''
crossBuild: false
- crossrootfsDir: ''
framework: 'net7.0'
isOfficialAllConfigurations: false
isSourceBuild: false
archType: ''
targetRid: ''
crossBuild: false
- crossrootfsDir: ''
framework: 'net7.0'
isOfficialBuild: false
isOfficialAllConfigurations: false
osSubgroup: ${{ parameters.osSubgroup }}
archType: ${{ parameters.archType }}
crossBuild: ${{ parameters.crossBuild }}
- crossrootfsDir: ${{ parameters.crossrootfsDir }}
framework: ${{ parameters.framework }}
isOfficialBuild: ${{ parameters.isOfficialBuild }}
isOfficialAllConfigurations: ${{ parameters.isOfficialAllConfigurations }}
- name: containerLibrariesRoot
value: /repo/src/libraries
-jobs:
-- job: EnterpriseLinuxTests
- timeoutInMinutes: 120
- pool:
- name: NetCore-Public
- demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
- steps:
- - bash: |
- cd $(enterpriseTestsSetup)
- docker-compose build
- displayName: Build test machine images
- env:
- DOTNET_RUNTIME_REPO_ROOT: $(Build.SourcesDirectory)
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
+ - job: EnterpriseLinuxTests
+ timeoutInMinutes: 120
+ pool:
+ name: NetCore-Public
+ demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
+ steps:
+ - bash: |
+ cd $(enterpriseTestsSetup)
+ docker-compose build
+ displayName: Build test machine images
+ env:
+ DOTNET_RUNTIME_REPO_ROOT: $(Build.SourcesDirectory)
- - bash: |
- cd $(enterpriseTestsSetup)
- docker-compose up -d
- displayName: Start test network and machines
- env:
- DOTNET_RUNTIME_REPO_ROOT: $(Build.SourcesDirectory)
+ - bash: |
+ cd $(enterpriseTestsSetup)
+ docker-compose up -d
+ displayName: Start test network and machines
+ env:
+ DOTNET_RUNTIME_REPO_ROOT: $(Build.SourcesDirectory)
- - bash: |
- docker exec linuxclient bash /setup/test-webserver.sh
- displayName: Test linuxclient connection to web server
+ - bash: |
+ docker exec linuxclient bash /setup/test-webserver.sh
+ displayName: Test linuxclient connection to web server
- - bash: |
- docker exec linuxclient bash -c '/repo/build.sh -subset clr+libs -runtimeconfiguration release -ci /p:NativeOptimizationDataSupported=false'
- docker exec linuxclient bash -c '/repo/dotnet.sh build $(containerLibrariesRoot)/System.Net.Http/tests/EnterpriseTests/System.Net.Http.Enterprise.Tests.csproj'
- docker exec linuxclient bash -c '/repo/dotnet.sh build $(containerLibrariesRoot)/System.Net.Security/tests/EnterpriseTests/System.Net.Security.Enterprise.Tests.csproj'
- displayName: Build product sources
+ - bash: |
+ docker exec linuxclient bash -c '/repo/build.sh -subset clr+libs -runtimeconfiguration release -ci /p:NativeOptimizationDataSupported=false'
+ docker exec linuxclient bash -c '/repo/dotnet.sh build $(containerLibrariesRoot)/System.Net.Http/tests/EnterpriseTests/System.Net.Http.Enterprise.Tests.csproj'
+ docker exec linuxclient bash -c '/repo/dotnet.sh build $(containerLibrariesRoot)/System.Net.Security/tests/EnterpriseTests/System.Net.Security.Enterprise.Tests.csproj'
+ displayName: Build product sources
- - bash: |
- docker exec linuxclient bash -c 'if [ -f /erc/resolv.conf.ORI ]; then cp -f /erc/resolv.conf.ORI /etc/resolv.conf; fi'
- docker exec linuxclient $(containerRunTestsCommand) $(containerLibrariesRoot)/System.Net.Http/tests/EnterpriseTests/System.Net.Http.Enterprise.Tests.csproj
- docker exec linuxclient $(containerRunTestsCommand) $(containerLibrariesRoot)/System.Net.Security/tests/EnterpriseTests/System.Net.Security.Enterprise.Tests.csproj
- displayName: Build and run tests
+ - bash: |
+ docker exec linuxclient bash -c 'if [ -f /erc/resolv.conf.ORI ]; then cp -f /erc/resolv.conf.ORI /etc/resolv.conf; fi'
+ docker exec linuxclient $(containerRunTestsCommand) $(containerLibrariesRoot)/System.Net.Http/tests/EnterpriseTests/System.Net.Http.Enterprise.Tests.csproj
+ docker exec linuxclient $(containerRunTestsCommand) $(containerLibrariesRoot)/System.Net.Security/tests/EnterpriseTests/System.Net.Security.Enterprise.Tests.csproj
+ displayName: Build and run tests
- - bash: |
- cd $(enterpriseTestsSetup)
- docker-compose down
- displayName: Stop test network and machines
- env:
- DOTNET_RUNTIME_REPO_ROOT: $(Build.SourcesDirectory)
+ - bash: |
+ cd $(enterpriseTestsSetup)
+ docker-compose down
+ displayName: Stop test network and machines
+ env:
+ DOTNET_RUNTIME_REPO_ROOT: $(Build.SourcesDirectory)
- - task: PublishTestResults@2
- inputs:
- testRunner: 'xUnit'
- testResultsFiles: '**/testResults.xml'
- testRunTitle: 'Enterprise Tests'
- mergeTestResults: true
- failTaskOnFailedTests: true
+ - task: PublishTestResults@2
+ inputs:
+ testRunner: 'xUnit'
+ testResultsFiles: '**/testResults.xml'
+ testRunTitle: 'Enterprise Tests'
+ mergeTestResults: true
+ failTaskOnFailedTests: true
variables:
- template: variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
- - 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
- runtimeFlavor: mono
- platforms:
- - windows_x86
- - Browser_wasm
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - windows_x64
- - Linux_x64
- - Linux_arm
- - Linux_musl_x64
- - OSX_x64
- jobParameters:
- testScope: outerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) -testscope outerloop /p:ArchiveTests=true
- timeoutInMinutes: 180
- includeAllPlatforms: ${{ variables['isRollingBuild'] }}
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- scenarios:
- - WasmTestOnBrowser
- testScope: outerloop
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
-
- - ${{ if eq(variables['isRollingBuild'], false) }}:
- - 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: Debug
- runtimeFlavor: mono
- platforms:
- - windows_x64
- - Linux_x64
- - Linux_musl_x64
- - OSX_x64
- - Android_arm64
- jobParameters:
- testScope: outerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) -testscope outerloop /p:ArchiveTests=true
- timeoutInMinutes: 180
- includeAllPlatforms: ${{ variables['isRollingBuild'] }}
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
+ - 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
+ runtimeFlavor: mono
+ platforms:
+ - windows_x86
+ - Browser_wasm
+ - ${{ if eq(variables['isRollingBuild'], true) }}:
+ - windows_x64
+ - Linux_x64
+ - Linux_arm
+ - Linux_musl_x64
+ - OSX_x64
+ jobParameters:
testScope: outerloop
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) -testscope outerloop /p:ArchiveTests=true
+ timeoutInMinutes: 180
+ includeAllPlatforms: ${{ variables['isRollingBuild'] }}
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ scenarios:
+ - WasmTestOnBrowser
+ testScope: outerloop
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+
+ - ${{ if eq(variables['isRollingBuild'], false) }}:
+ - 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: Debug
+ runtimeFlavor: mono
+ platforms:
+ - windows_x64
+ - Linux_x64
+ - Linux_musl_x64
+ - OSX_x64
+ - Android_arm64
+ jobParameters:
+ testScope: outerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) -testscope outerloop /p:ArchiveTests=true
+ timeoutInMinutes: 180
+ includeAllPlatforms: ${{ variables['isRollingBuild'] }}
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ testScope: outerloop
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
variables:
- template: variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
- #
- # CoreCLR Build
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: release
- platforms:
- - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
- - windows_x64
- - windows_x86
- - ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
- - Linux_x64
- - Linux_musl_x64
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - Linux_arm
- - Linux_arm64
- - Linux_musl_arm64
- - ${{ if eq(variables['includeOsxOuterloop'], true) }}:
- - OSX_arm64
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- #
- # Libraries Build
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
- - windows_x86
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - windows_x64
- - ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm64
- - ${{ if and(eq(variables['includeOsxOuterloop'], true), eq(variables['isRollingBuild'], true)) }}:
- - OSX_arm64
- - OSX_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isOfficialBuild: ${{ variables['isOfficialBuild'] }}
- includeAllPlatforms: ${{ variables['isRollingBuild'] }}
- runTests: true
- testScope: outerloop
- liveRuntimeBuildConfig: release
-
- - ${{ if eq(variables['isRollingBuild'], false) }}:
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Debug
- platforms:
- - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
- - windows_x64
- - ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
- - Linux_x64
- - Linux_musl_x64
- - ${{ if eq(variables['includeOsxOuterloop'], true) }}:
- - OSX_arm64
- - OSX_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isOfficialBuild: ${{ variables['isOfficialBuild'] }}
- includeAllPlatforms: ${{ variables['isRollingBuild'] }}
- runTests: true
- testScope: outerloop
- liveRuntimeBuildConfig: release
+ #
+ # CoreCLR Build
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: release
+ platforms:
+ - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
+ - windows_x64
+ - windows_x86
+ - ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
+ - Linux_x64
+ - Linux_musl_x64
+ - ${{ if eq(variables['isRollingBuild'], true) }}:
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_arm64
+ - ${{ if eq(variables['includeOsxOuterloop'], true) }}:
+ - OSX_arm64
+ - OSX_x64
+ jobParameters:
+ testGroup: innerloop
+ #
+ # Libraries Build
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platforms:
+ - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
+ - windows_x86
+ - ${{ if eq(variables['isRollingBuild'], true) }}:
+ - windows_x64
+ - ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
+ - ${{ if eq(variables['isRollingBuild'], true) }}:
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_musl_arm64
+ - ${{ if and(eq(variables['includeOsxOuterloop'], true), eq(variables['isRollingBuild'], true)) }}:
+ - OSX_arm64
+ - OSX_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isOfficialBuild: ${{ variables['isOfficialBuild'] }}
+ includeAllPlatforms: ${{ variables['isRollingBuild'] }}
+ runTests: true
+ testScope: outerloop
+ liveRuntimeBuildConfig: release
- - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - windows_x86
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - windows_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isOfficialBuild: ${{ variables['isOfficialBuild'] }}
- includeAllPlatforms: ${{ variables['isRollingBuild'] }}
- framework: net48
- runTests: true
- testScope: outerloop
+ - ${{ if eq(variables['isRollingBuild'], false) }}:
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Debug
+ platforms:
+ - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
+ - windows_x64
+ - ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
+ - Linux_x64
+ - Linux_musl_x64
+ - ${{ if eq(variables['includeOsxOuterloop'], true) }}:
+ - OSX_arm64
+ - OSX_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isOfficialBuild: ${{ variables['isOfficialBuild'] }}
+ includeAllPlatforms: ${{ variables['isRollingBuild'] }}
+ runTests: true
+ testScope: outerloop
+ liveRuntimeBuildConfig: release
+
+ - ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platforms:
+ - windows_x86
+ - ${{ if eq(variables['isRollingBuild'], true) }}:
+ - windows_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isOfficialBuild: ${{ variables['isOfficialBuild'] }}
+ includeAllPlatforms: ${{ variables['isRollingBuild'] }}
+ framework: net48
+ runTests: true
+ testScope: outerloop
value: dotnet-sdk-libraries-current
-jobs:
-- job: linux
- displayName: Docker Linux
- timeoutInMinutes: 180
- variables:
- DUMPS_SHARE_MOUNT_ROOT: "/dumps-share"
- pool:
- name: NetCore-Public
- demands: ImageOverride -equals 1es-ubuntu-1804-open
-
- steps:
- - checkout: self
- clean: true
- fetchDepth: 5
-
- - bash: |
- $(dockerfilesFolder)/build-docker-sdk.sh -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION) && \
- echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
- name: buildRuntime
- displayName: Build CLR and Libraries
-
- - bash: |
- $(httpStressProject)/run-docker-compose.sh -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage) && \
- echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
- name: buildStress
- displayName: Build HttpStress
-
- - bash: |
- cd '$(httpStressProject)'
- export CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/3.0"
- export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/3.0"
- export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 3.0"
- export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 3.0"
- docker-compose up --abort-on-container-exit --no-color
- timeoutInMinutes: 35 # In case the HTTP/3.0 run hangs, we timeout shortly after the expected 30 minute run
- displayName: Run HttpStress - HTTP 3.0
- condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
-
- - bash: |
- cd '$(httpStressProject)'
- export CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/2.0"
- export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/2.0"
- export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 2.0"
- export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 2.0"
- docker-compose up --abort-on-container-exit --no-color
- displayName: Run HttpStress - HTTP 2.0
- condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
-
- - bash: |
- cd '$(httpStressProject)'
- export CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/1.1"
- export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/1.1"
- export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 1.1"
- export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 1.1"
- docker-compose up --abort-on-container-exit --no-color
- displayName: Run HttpStress - HTTP 1.1
- condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
-
- - bash: |
- sudo chown -R $(id -u):$(id -g) $(Build.ArtifactStagingDirectory)/dumps
- displayName: Own shared dumps and files
- condition: failed()
-
- - publish: $(Build.ArtifactStagingDirectory)/dumps
- artifact: DumpsLinux
- condition: failed()
-
-- job: windows
- displayName: Docker NanoServer
- timeoutInMinutes: 150
- variables:
- DUMPS_SHARE_MOUNT_ROOT: "C:/dumps-share"
- pool:
- name: NetCore-Public
- demands: ImageOverride -equals 1es-windows-2022-open
-
- steps:
- - checkout: self
- clean: true
- fetchDepth: 5
- lfs: false
-
- - powershell: |
- $(dockerfilesFolder)/build-docker-sdk.ps1 -w -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION)
- echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
- name: buildRuntime
- displayName: Build CLR and Libraries
-
- - powershell: |
- $(httpStressProject)/run-docker-compose.ps1 -w -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage)
- echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
- name: buildStress
- displayName: Build HttpStress
-
- # Firewall is disabled for the test runs, since it can lead to unexpected TCP failures on CI machines, which are unrelated to the HTTP logic.
- # See: https://github.com/dotnet/runtime/issues/50854
- - powershell: |
- Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False
- name: disableFirewall
- displayName: Disable Firewall
-
- - powershell: |
- cd '$(httpStressProject)'
- $env:CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/2.0"
- $env:SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/2.0"
- New-Item -Force $env:CLIENT_DUMPS_SHARE -ItemType Directory
- New-Item -Force $env:SERVER_DUMPS_SHARE -ItemType Directory
- $env:HTTPSTRESS_CLIENT_ARGS = "$env:HTTPSTRESS_CLIENT_ARGS -http 2.0"
- $env:HTTPSTRESS_SERVER_ARGS = "$env:HTTPSTRESS_SERVER_ARGS -http 2.0"
- docker-compose up --abort-on-container-exit --no-color
- displayName: Run HttpStress - HTTP 2.0
- condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
-
- - powershell: |
- cd '$(httpStressProject)'
- $env:CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/1.1"
- $env:SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/1.1"
- New-Item -Force $env:CLIENT_DUMPS_SHARE -ItemType Directory
- New-Item -Force $env:SERVER_DUMPS_SHARE -ItemType Directory
- $env:HTTPSTRESS_CLIENT_ARGS = "$env:HTTPSTRESS_CLIENT_ARGS -http 1.1"
- $env:HTTPSTRESS_SERVER_ARGS = "$env:HTTPSTRESS_SERVER_ARGS -http 1.1"
- docker-compose up --abort-on-container-exit --no-color
- displayName: Run HttpStress - HTTP 1.1
- condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
-
- - publish: $(Build.ArtifactStagingDirectory)/dumps
- artifact: DumpsWindows
- condition: failed()
-
- - powershell: |
- Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
- name: enableFirewall
- displayName: Enable Firewall
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
+ - job: linux
+ displayName: Docker Linux
+ timeoutInMinutes: 180
+ variables:
+ DUMPS_SHARE_MOUNT_ROOT: "/dumps-share"
+ pool:
+ name: NetCore-Public
+ demands: ImageOverride -equals 1es-ubuntu-1804-open
+
+ steps:
+ - checkout: self
+ clean: true
+ fetchDepth: 5
+
+ - bash: |
+ $(dockerfilesFolder)/build-docker-sdk.sh -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION) && \
+ echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
+ name: buildRuntime
+ displayName: Build CLR and Libraries
+
+ - bash: |
+ $(httpStressProject)/run-docker-compose.sh -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage) && \
+ echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
+ name: buildStress
+ displayName: Build HttpStress
+
+ - bash: |
+ cd '$(httpStressProject)'
+ export CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/3.0"
+ export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/3.0"
+ export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 3.0"
+ export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 3.0"
+ docker-compose up --abort-on-container-exit --no-color
+ timeoutInMinutes: 35 # In case the HTTP/3.0 run hangs, we timeout shortly after the expected 30 minute run
+ displayName: Run HttpStress - HTTP 3.0
+ condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
+
+ - bash: |
+ cd '$(httpStressProject)'
+ export CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/2.0"
+ export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/2.0"
+ export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 2.0"
+ export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 2.0"
+ docker-compose up --abort-on-container-exit --no-color
+ displayName: Run HttpStress - HTTP 2.0
+ condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
+
+ - bash: |
+ cd '$(httpStressProject)'
+ export CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/1.1"
+ export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/1.1"
+ export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 1.1"
+ export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 1.1"
+ docker-compose up --abort-on-container-exit --no-color
+ displayName: Run HttpStress - HTTP 1.1
+ condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
+
+ - bash: |
+ sudo chown -R $(id -u):$(id -g) $(Build.ArtifactStagingDirectory)/dumps
+ displayName: Own shared dumps and files
+ condition: failed()
+
+ - publish: $(Build.ArtifactStagingDirectory)/dumps
+ artifact: DumpsLinux
+ condition: failed()
+
+ - job: windows
+ displayName: Docker NanoServer
+ timeoutInMinutes: 150
+ variables:
+ DUMPS_SHARE_MOUNT_ROOT: "C:/dumps-share"
+ pool:
+ name: NetCore-Public
+ demands: ImageOverride -equals 1es-windows-2022-open
+
+ steps:
+ - checkout: self
+ clean: true
+ fetchDepth: 5
+ lfs: false
+
+ - powershell: |
+ $(dockerfilesFolder)/build-docker-sdk.ps1 -w -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION)
+ echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
+ name: buildRuntime
+ displayName: Build CLR and Libraries
+
+ - powershell: |
+ $(httpStressProject)/run-docker-compose.ps1 -w -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage)
+ echo "##vso[task.setvariable variable=succeeded;isOutput=true]true"
+ name: buildStress
+ displayName: Build HttpStress
+
+ # Firewall is disabled for the test runs, since it can lead to unexpected TCP failures on CI machines, which are unrelated to the HTTP logic.
+ # See: https://github.com/dotnet/runtime/issues/50854
+ - powershell: |
+ Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False
+ name: disableFirewall
+ displayName: Disable Firewall
+
+ - powershell: |
+ cd '$(httpStressProject)'
+ $env:CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/2.0"
+ $env:SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/2.0"
+ New-Item -Force $env:CLIENT_DUMPS_SHARE -ItemType Directory
+ New-Item -Force $env:SERVER_DUMPS_SHARE -ItemType Directory
+ $env:HTTPSTRESS_CLIENT_ARGS = "$env:HTTPSTRESS_CLIENT_ARGS -http 2.0"
+ $env:HTTPSTRESS_SERVER_ARGS = "$env:HTTPSTRESS_SERVER_ARGS -http 2.0"
+ docker-compose up --abort-on-container-exit --no-color
+ displayName: Run HttpStress - HTTP 2.0
+ condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
+
+ - powershell: |
+ cd '$(httpStressProject)'
+ $env:CLIENT_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/client/1.1"
+ $env:SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/1.1"
+ New-Item -Force $env:CLIENT_DUMPS_SHARE -ItemType Directory
+ New-Item -Force $env:SERVER_DUMPS_SHARE -ItemType Directory
+ $env:HTTPSTRESS_CLIENT_ARGS = "$env:HTTPSTRESS_CLIENT_ARGS -http 1.1"
+ $env:HTTPSTRESS_SERVER_ARGS = "$env:HTTPSTRESS_SERVER_ARGS -http 1.1"
+ docker-compose up --abort-on-container-exit --no-color
+ displayName: Run HttpStress - HTTP 1.1
+ condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true'))
+
+ - publish: $(Build.ArtifactStagingDirectory)/dumps
+ artifact: DumpsWindows
+ condition: failed()
+
+ - powershell: |
+ Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
+ name: enableFirewall
+ displayName: Enable Firewall
value: dotnet-sdk-libraries-current
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-- job: linux
- displayName: Docker Linux
- timeoutInMinutes: 120
- pool:
- name: NetCore-Public
- demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
+ - job: linux
+ displayName: Docker Linux
+ timeoutInMinutes: 120
+ pool:
+ name: NetCore-Public
+ demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
- steps:
- - checkout: self
- clean: true
- fetchDepth: 5
+ steps:
+ - checkout: self
+ clean: true
+ fetchDepth: 5
- - bash: |
- $(dockerfilesFolder)/build-docker-sdk.sh -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION)
- displayName: Build CLR and Libraries
+ - bash: |
+ $(dockerfilesFolder)/build-docker-sdk.sh -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION)
+ displayName: Build CLR and Libraries
- - bash: |
- $(sslStressProject)/run-docker-compose.sh -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage)
- displayName: Build SslStress
+ - bash: |
+ $(sslStressProject)/run-docker-compose.sh -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage)
+ displayName: Build SslStress
- - bash: |
- cd '$(sslStressProject)'
- docker-compose up --abort-on-container-exit --no-color
- displayName: Run SslStress
+ - bash: |
+ cd '$(sslStressProject)'
+ docker-compose up --abort-on-container-exit --no-color
+ displayName: Run SslStress
-- job: windows
- displayName: Docker NanoServer
- timeoutInMinutes: 120
- pool:
- name: NetCore-Public
- demands: ImageOverride -equals 1es-windows-2022-open
+ - job: windows
+ displayName: Docker NanoServer
+ timeoutInMinutes: 120
+ pool:
+ name: NetCore-Public
+ demands: ImageOverride -equals 1es-windows-2022-open
- steps:
- - checkout: self
- clean: true
- fetchDepth: 5
- lfs: false
+ steps:
+ - checkout: self
+ clean: true
+ fetchDepth: 5
+ lfs: false
- - powershell: |
- $(dockerfilesFolder)/build-docker-sdk.ps1 -w -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION)
- displayName: Build CLR and Libraries
-
- - powershell: |
- $(sslStressProject)/run-docker-compose.ps1 -w -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage)
- displayName: Build SslStress
-
- - powershell: |
- cd '$(sslStressProject)'
- docker-compose up --abort-on-container-exit --no-color
- displayName: Run SslStress
+ - powershell: |
+ $(dockerfilesFolder)/build-docker-sdk.ps1 -w -t $(sdkBaseImage) -c $(BUILD_CONFIGURATION)
+ displayName: Build CLR and Libraries
+
+ - powershell: |
+ $(sslStressProject)/run-docker-compose.ps1 -w -o -c $(BUILD_CONFIGURATION) -t $(sdkBaseImage)
+ displayName: Build SslStress
+
+ - powershell: |
+ cd '$(sslStressProject)'
+ docker-compose up --abort-on-container-exit --no-color
+ displayName: Run SslStress
runtimeVariant: ''
isOfficialBuild: false
crossBuild: false
- crossrootfsDir: ''
dependsOn: []
monoCrossAOTTargetOS: []
dependOnEvaluatePaths: false
runtimeVariant: ${{ parameters.runtimeVariant }}
crossBuild: ${{ parameters.crossBuild }}
monoCrossAOTTargetOS: ${{ parameters.monoCrossAOTTargetOS }}
- crossrootfsDir: ${{ parameters.crossroofsDir }}
condition: ${{ parameters.condition }}
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
-
-#
-# Android emulators
-# Build the whole product using Mono and run libraries tests
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - Android_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_gRPC
- buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunGrpcTestsOnly=true /p:BuildGrpcServerDockerImage=true
- timeoutInMinutes: 180
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- extraHelixArguments: /p:RunGrpcTestsOnly=true /p:BuildGrpcServerDockerImage=true
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ jobs:
+
+ #
+ # Android emulators
+ # Build the whole product using Mono and run libraries tests
+ #
+ - 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
+ runtimeFlavor: mono
+ platforms:
+ - Android_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_gRPC
+ buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunGrpcTestsOnly=true /p:BuildGrpcServerDockerImage=true
+ timeoutInMinutes: 180
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ extraHelixArguments: /p:RunGrpcTestsOnly=true /p:BuildGrpcServerDockerImage=true
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
-
-#
-# Build CoreCLR checked
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- jobParameters:
- testGroup: innerloop
-
-#
-# Build CoreCLR release
-# Always as they are needed by Installer and we always build and test the Installer.
-#
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: release
- platforms:
- - windows_x64
- jobParameters:
- testScope: innerloop
+ #
+ # Build CoreCLR checked
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ jobParameters:
+ testGroup: innerloop
-#
-# CoreCLR Test builds using live libraries release build
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
+ #
+ # Build CoreCLR release
+ # Always as they are needed by Installer and we always build and test the Installer.
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: release
+ platforms:
+ - windows_x64
+ jobParameters:
+ testScope: innerloop
-#
-# CoreCLR Test executions using live libraries
-# Only when CoreCLR is changed
-#
+ #
+ # CoreCLR Test builds using live libraries release build
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- helixQueueGroup: cet
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: release
- useCodeFlowEnforcement: true
+
+ #
+ # CoreCLR Test executions using live libraries
+ # Only when CoreCLR is changed
+ #
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ helixQueueGroup: cet
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: release
+ useCodeFlowEnforcement: true
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
-#
-# Evaluate paths
-#
-- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- - template: /eng/pipelines/common/evaluate-default-paths.yml
-
-#
-# s390x & PPC64 little endian
-# Build the whole product using Mono and run libraries tests
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - Linux_s390x
- - Linux_ppc64le
- variables:
- # map dependencies variables to local variables
- - name: librariesContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- - name: monoContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
- timeoutInMinutes: 180
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
- condition: >-
- or(
- eq(variables['librariesContainsChange'], true),
- eq(variables['monoContainsChange'], true),
- eq(variables['isRollingBuild'], true))
+ jobs:
+ #
+ # Evaluate paths
+ #
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-#
-# Build the whole product using Mono
-#
-- 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
- runtimeFlavor: mono
- platforms:
- - FreeBSD_x64
- variables:
- # map dependencies variables to local variables
- - name: librariesContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- - name: monoContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
- jobParameters:
- testScope: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- timeoutInMinutes: 120
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # s390x & PPC64 little endian
+ # Build the whole product using Mono and run libraries tests
+ #
+ - 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
+ runtimeFlavor: mono
+ platforms:
+ - Linux_s390x
+ - Linux_ppc64le
+ variables:
+ # map dependencies variables to local variables
+ - name: librariesContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
+ - name: monoContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
+ timeoutInMinutes: 180
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ condition: >-
+ or(
+ eq(variables['librariesContainsChange'], true),
+ eq(variables['monoContainsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# Build the whole product using Mono and run libraries tests
-#
-- 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
- runtimeFlavor: mono
- platforms:
- - Linux_armv6
- variables:
- # map dependencies variables to local variables
- - name: librariesContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- - name: monoContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
- jobParameters:
- testScope: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+clr.iltools+clr.packages+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
- timeoutInMinutes: 120
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
- ${{ if eq(variables['isRollingBuild'], true) }}:
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ #
+ # Build the whole product using Mono
+ #
+ - 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
+ runtimeFlavor: mono
+ platforms:
+ - FreeBSD_x64
+ variables:
+ # map dependencies variables to local variables
+ - name: librariesContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
+ - name: monoContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
+ jobParameters:
+ testScope: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ timeoutInMinutes: 120
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build the whole product using Mono and run libraries tests
+ #
+ - 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
+ runtimeFlavor: mono
+ platforms:
+ - Linux_armv6
+ variables:
+ # map dependencies variables to local variables
+ - name: librariesContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
+ - name: monoContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
+ jobParameters:
+ testScope: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+clr.iltools+clr.packages+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
+ timeoutInMinutes: 120
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+ ${{ if eq(variables['isRollingBuild'], true) }}:
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- - template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-# Add wasm jobs only for rolling builds
-- ${{ if eq(variables.isRollingBuild, true) }}:
- - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ # Add wasm jobs only for rolling builds
+ - ${{ if eq(variables.isRollingBuild, true) }}:
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
-# Add iOS/tvOS jobs
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isiOSLikeOnlyBuild: ${{ variables.isiOSLikeOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ # Add iOS/tvOS jobs
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isiOSLikeOnlyBuild: ${{ variables.isiOSLikeOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
-# Add iOS/tvOS simulator jobs
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isiOSLikeSimulatorOnlyBuild: ${{ variables.isiOSLikeSimulatorOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ # Add iOS/tvOS simulator jobs
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isiOSLikeSimulatorOnlyBuild: ${{ variables.isiOSLikeSimulatorOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
-# Add Android jobs
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isAndroidOnlyBuild: ${{ variables.isAndroidOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ # Add Android jobs
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isAndroidOnlyBuild: ${{ variables.isAndroidOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
-# Add Android emulator jobs
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isAndroidEmulatorOnlyBuild: ${{ variables.isAndroidEmulatorOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ # Add Android emulator jobs
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isAndroidEmulatorOnlyBuild: ${{ variables.isAndroidEmulatorOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
-# Add Mac Catalyst jobs
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isMacCatalystOnlyBuild: ${{ variables.isMacCatalystOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ # Add Mac Catalyst jobs
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isMacCatalystOnlyBuild: ${{ variables.isMacCatalystOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
-# Add Linux Bionic jobs
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-linuxbionic.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isLinuxBionicOnlyBuild: ${{ variables.isLinuxBionicOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ # Add Linux Bionic jobs
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-linuxbionic.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isLinuxBionicOnlyBuild: ${{ variables.isLinuxBionicOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
-# Any jobs that are not specific to any platform
-- ${{ if eq(variables.isNotSpecificPlatformOnlyBuild, true) }}:
- - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ # Any jobs that are not specific to any platform
+ - ${{ if eq(variables.isNotSpecificPlatformOnlyBuild, true) }}:
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- LICENSE.TXT
- PATENTS.TXT
- THIRD-PARTY-NOTICES.TXT
-
+
schedules:
- cron: "0 7,19 * * *" # run at 7:00 and 19:00 (UTC) which is 23:00 and 11:00 (PST).
displayName: Runtime-linker-tests default schedule
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- - template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-#
-# Build Release config vertical for Windows, Linux, Linux musl and OSX
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- platforms:
- - windows_x64
- - OSX_x64
- - Linux_x64
- jobParameters:
- testGroup: innerloop
- timeoutInMinutes: 120
- nameSuffix: Runtime_Release
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
- buildArgs: -s clr+libs -c $(_BuildConfig)
- extraStepsTemplate: /eng/pipelines/libraries/execute-trimming-tests-steps.yml
+ #
+ # Build Release config vertical for Windows, Linux, Linux musl and OSX
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ platforms:
+ - windows_x64
+ - OSX_x64
+ - Linux_x64
+ jobParameters:
+ testGroup: innerloop
+ timeoutInMinutes: 120
+ nameSuffix: Runtime_Release
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+ buildArgs: -s clr+libs -c $(_BuildConfig)
+ extraStepsTemplate: /eng/pipelines/libraries/execute-trimming-tests-steps.yml
-#
-# Build Release config vertical for Browser-wasm
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- platforms:
- - Browser_wasm
- jobParameters:
- testGroup: innerloop
- timeoutInMinutes: 120
- nameSuffix: Runtime_Release
- buildArgs: -s mono+libs -c $(_BuildConfig) -p:WasmBuildNative=false
- condition:
- or(
- eq(variables['isRollingBuild'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['DarcDependenciesChanged.Microsoft_NET_ILLink_Tasks'], true))
- extraStepsTemplate: /eng/pipelines/libraries/execute-trimming-tests-steps.yml
- extraStepsParameters:
- extraTestArgs: '/p:WasmBuildNative=false'
+ #
+ # Build Release config vertical for Browser-wasm
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ platforms:
+ - Browser_wasm
+ jobParameters:
+ testGroup: innerloop
+ timeoutInMinutes: 120
+ nameSuffix: Runtime_Release
+ buildArgs: -s mono+libs -c $(_BuildConfig) -p:WasmBuildNative=false
+ condition:
+ or(
+ eq(variables['isRollingBuild'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['DarcDependenciesChanged.Microsoft_NET_ILLink_Tasks'], true))
+ extraStepsTemplate: /eng/pipelines/libraries/execute-trimming-tests-steps.yml
+ extraStepsParameters:
+ extraTestArgs: '/p:WasmBuildNative=false'
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- - template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-#
-# Build Mono and Installer on LLVMJIT mode
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMJIT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # Build Mono and Installer on LLVMJIT mode
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - OSX_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMJIT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- - Linux_arm64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMJIT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMJIT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# Build Mono and Installer on LLVMAOT mode
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- - Linux_arm64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMAOT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # Build Mono and Installer on LLVMAOT mode
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMAOT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- runtimeFlavor: mono
- platforms:
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMAOT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ runtimeFlavor: mono
+ platforms:
+ - OSX_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMAOT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# Build Mono release with LLVM AOT
-# Only when mono, or the runtime tests changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - Linux_x64
- - Linux_arm64
- jobParameters:
- runtimeVariant: llvmaot
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # Build Mono release with LLVM AOT
+ # Only when mono, or the runtime tests changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ jobParameters:
+ runtimeVariant: llvmaot
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# Mono CoreCLR runtime Test executions using live libraries and LLVM AOT
-# Only when Mono is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- # Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation
- #- Linux_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- liveRuntimeBuildConfig: release
- runtimeVariant: llvmaot
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # Mono CoreCLR runtime Test executions using live libraries and LLVM AOT
+ # Only when Mono is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ # Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation
+ #- Linux_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ liveRuntimeBuildConfig: release
+ runtimeVariant: llvmaot
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
-#
-# Mono CoreCLR runtime Test executions using live libraries and LLVM Full AOT
-# Only when Mono is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- - Linux_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- liveRuntimeBuildConfig: release
- runtimeVariant: llvmfullaot
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
+ #
+ # Mono CoreCLR runtime Test executions using live libraries and LLVM Full AOT
+ # Only when Mono is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ liveRuntimeBuildConfig: release
+ runtimeVariant: llvmfullaot
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
# there is no public pipeline associated with it.
pr: none
-resources:
- containers:
- # Define auxilary containers used by the installer jobs
- - container: debpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-debpkg-20220504035737-cfdd435
- - container: rpmpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-rpmpkg-20210714125410-daa5116
-
variables:
- template: /eng/pipelines/common/variables.yml
# TODO: (Consolidation) Switch away from old signing/validation variables from former Core-Setup. https://github.com/dotnet/runtime/issues/1027
- name: PostBuildSign
value: true
-stages:
-- stage: Build
- jobs:
+extends:
+ template: /eng/pipelines/common/templates/pipeline-with-resources.yml
+ parameters:
+ stages:
+ - stage: Build
+ jobs:
- #
- # Localization build
- #
- - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}:
- - template: /eng/common/templates/job/onelocbuild.yml
- parameters:
- MirrorRepo: runtime
- LclSource: lclFilesfromPackage
- LclPackageId: 'LCL-JUNO-PROD-RUNTIME'
+ #
+ # Localization build
+ #
+ - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}:
+ - template: /eng/common/templates/job/onelocbuild.yml
+ parameters:
+ MirrorRepo: runtime
+ LclSource: lclFilesfromPackage
+ LclPackageId: 'LCL-JUNO-PROD-RUNTIME'
- #
- # Source Index Build
- #
- - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}:
- - template: /eng/common/templates/job/source-index-stage1.yml
- parameters:
- sourceIndexBuildCommand: build.cmd -subset libs.sfx+libs.oob -binarylog -os Linux -ci
+ #
+ # Source Index Build
+ #
+ - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}:
+ - template: /eng/common/templates/job/source-index-stage1.yml
+ parameters:
+ sourceIndexBuildCommand: build.cmd -subset libs.sfx+libs.oob -binarylog -os Linux -ci
- #
- # Build CoreCLR
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: release
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
- - windows_x86
- - windows_x64
- - windows_arm
- - windows_arm64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- signBinaries: ${{ variables.isOfficialBuild }}
- timeoutInMinutes: 120
+ #
+ # Build CoreCLR
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: release
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm
+ - windows_arm64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ signBinaries: ${{ variables.isOfficialBuild }}
+ timeoutInMinutes: 120
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/crossdac-pack.yml
- buildConfig: release
- platforms:
- - windows_x64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- timeoutInMinutes: 120
- crossDacPlatforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
- - windows_x64
- - windows_arm
- - windows_arm64
- #
- # Build Mono runtime packs
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - Android_x64
- - Android_x86
- - Android_arm
- - Android_arm64
- - MacCatalyst_x64
- - MacCatalyst_arm64
- - tvOSSimulator_x64
- - tvOSSimulator_arm64
- - tvOS_arm64
- - iOSSimulator_x64
- - iOSSimulator_x86
- - iOSSimulator_arm64
- - iOS_arm
- - iOS_arm64
- - OSX_x64
- - OSX_arm64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Browser_wasm
- - Linux_bionic_arm64
- - Linux_bionic_x64
- # - Linux_musl_arm
- # - Linux_musl_arm64
- - windows_x64
- - windows_x86
- # - windows_arm
- # - windows_arm64
- jobParameters:
- buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig)
- nameSuffix: AllSubsets_Mono
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/crossdac-pack.yml
+ buildConfig: release
+ platforms:
+ - windows_x64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ timeoutInMinutes: 120
+ crossDacPlatforms:
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - windows_x64
+ - windows_arm
+ - windows_arm64
+ #
+ # Build Mono runtime packs
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - Android_x64
+ - Android_x86
+ - Android_arm
+ - Android_arm64
+ - MacCatalyst_x64
+ - MacCatalyst_arm64
+ - tvOSSimulator_x64
+ - tvOSSimulator_arm64
+ - tvOS_arm64
+ - iOSSimulator_x64
+ - iOSSimulator_x86
+ - iOSSimulator_arm64
+ - iOS_arm
+ - iOS_arm64
+ - OSX_x64
+ - OSX_arm64
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_x64
+ - Browser_wasm
+ - Linux_bionic_arm64
+ - Linux_bionic_x64
+ # - Linux_musl_arm
+ # - Linux_musl_arm64
+ - windows_x64
+ - windows_x86
+ # - windows_arm
+ # - windows_arm64
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig)
+ nameSuffix: AllSubsets_Mono
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - Browser_wasm
- jobParameters:
- buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig) /p:MonoWasmBuildVariant=perftrace
- nameSuffix: AllSubsets_Mono_perftrace
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- runtimeVariant: perftrace
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - Browser_wasm
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig) /p:MonoWasmBuildVariant=perftrace
+ nameSuffix: AllSubsets_Mono_perftrace
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ runtimeVariant: perftrace
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - Browser_wasm
- jobParameters:
- buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig) /p:MonoWasmBuildVariant=multithread
- nameSuffix: AllSubsets_Mono_multithread
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- runtimeVariant: multithread
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - Browser_wasm
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig) /p:MonoWasmBuildVariant=multithread
+ nameSuffix: AllSubsets_Mono_multithread
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ runtimeVariant: multithread
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
- # Build Mono AOT offset headers once, for consumption elsewhere
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/generate-offsets.yml
- buildConfig: release
- platforms:
- - Android_x64
- - Browser_wasm
- - tvOS_arm64
- - iOS_arm64
- - MacCatalyst_x64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
+ # Build Mono AOT offset headers once, for consumption elsewhere
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/generate-offsets.yml
+ buildConfig: release
+ platforms:
+ - Android_x64
+ - Browser_wasm
+ - tvOS_arm64
+ - iOS_arm64
+ - MacCatalyst_x64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
- #
- # Build Mono release AOT cross-compilers
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - Linux_x64
- jobParameters:
- buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Android+Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
- nameSuffix: CrossAOT_Mono
- runtimeVariant: crossaot
- dependsOn:
- - mono_android_offsets
- - mono_browser_offsets
- monoCrossAOTTargetOS:
- - Android
- - Browser
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
+ #
+ # Build Mono release AOT cross-compilers
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ jobParameters:
+ buildArgs: -s mono+packs -c $(_BuildConfig)
+ /p:MonoCrossAOTTargetOS=Android+Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ nameSuffix: CrossAOT_Mono
+ runtimeVariant: crossaot
+ dependsOn:
+ - mono_android_offsets
+ - mono_browser_offsets
+ monoCrossAOTTargetOS:
+ - Android
+ - Browser
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - Windows_x64
- jobParameters:
- buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Android+Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
- nameSuffix: CrossAOT_Mono
- runtimeVariant: crossaot
- dependsOn:
- - mono_android_offsets
- - mono_browser_offsets
- monoCrossAOTTargetOS:
- - Android
- - Browser
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - Windows_x64
+ jobParameters:
+ buildArgs: -s mono+packs -c $(_BuildConfig)
+ /p:MonoCrossAOTTargetOS=Android+Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ nameSuffix: CrossAOT_Mono
+ runtimeVariant: crossaot
+ dependsOn:
+ - mono_android_offsets
+ - mono_browser_offsets
+ monoCrossAOTTargetOS:
+ - Android
+ - Browser
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - OSX_x64
- jobParameters:
- buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Android+Browser+tvOS+iOS+MacCatalyst /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
- nameSuffix: CrossAOT_Mono
- runtimeVariant: crossaot
- dependsOn:
- - mono_android_offsets
- - mono_browser_offsets
- - mono_tvos_offsets
- - mono_ios_offsets
- - mono_maccatalyst_offsets
- monoCrossAOTTargetOS:
- - Android
- - Browser
- - tvOS
- - iOS
- - MacCatalyst
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - OSX_x64
+ jobParameters:
+ buildArgs: -s mono+packs -c $(_BuildConfig)
+ /p:MonoCrossAOTTargetOS=Android+Browser+tvOS+iOS+MacCatalyst /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ nameSuffix: CrossAOT_Mono
+ runtimeVariant: crossaot
+ dependsOn:
+ - mono_android_offsets
+ - mono_browser_offsets
+ - mono_tvos_offsets
+ - mono_ios_offsets
+ - mono_maccatalyst_offsets
+ monoCrossAOTTargetOS:
+ - Android
+ - Browser
+ - tvOS
+ - iOS
+ - MacCatalyst
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
- #
- # Build Mono LLVM runtime packs
- #
- - template: /eng/pipelines/common/platform-matrix-multijob.yml
- parameters:
- platforms:
- - OSX_x64
- - Linux_x64
- # - Linux_arm
- - Linux_arm64
- # - Linux_musl_x64
- # - Linux_musl_arm64
- # - windows_x64
- # - windows_x86
- # - windows_arm
- # - windows_arm64
- jobTemplates:
- # LLVMJIT
- - jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- runtimeFlavor: mono
- jobParameters:
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
- nameSuffix: AllSubsets_Mono_LLVMJIT
- runtimeVariant: LLVMJIT
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
- #LLVMAOT
- - jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- runtimeFlavor: mono
- jobParameters:
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
- nameSuffix: AllSubsets_Mono_LLVMAOT
- runtimeVariant: LLVMAOT
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: MonoRuntimePacks
+ #
+ # Build Mono LLVM runtime packs
+ #
+ - template: /eng/pipelines/common/platform-matrix-multijob.yml
+ parameters:
+ platforms:
+ - OSX_x64
+ - Linux_x64
+ # - Linux_arm
+ - Linux_arm64
+ # - Linux_musl_x64
+ # - Linux_musl_arm64
+ # - windows_x64
+ # - windows_x86
+ # - windows_arm
+ # - windows_arm64
+ jobTemplates:
+ # LLVMJIT
+ - jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
+ nameSuffix: AllSubsets_Mono_LLVMJIT
+ runtimeVariant: LLVMJIT
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
+ #LLVMAOT
+ - jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ jobParameters:
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
+ nameSuffix: AllSubsets_Mono_LLVMAOT
+ runtimeVariant: LLVMAOT
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: MonoRuntimePacks
- #
- # Build libraries using live CoreLib from CoreCLR
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
- - windows_x86
- - windows_x64
- - windows_arm
- - windows_arm64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- liveRuntimeBuildConfig: release
- # Official builds don't run tests, locally or on Helix
- runTests: false
- useHelix: false
+ #
+ # Build libraries using live CoreLib from CoreCLR
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm
+ - windows_arm64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ liveRuntimeBuildConfig: release
+ # Official builds don't run tests, locally or on Helix
+ runTests: false
+ useHelix: false
- #
- # Build libraries AllConfigurations for packages
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - windows_x64
- jobParameters:
- framework: allConfigurations
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- isOfficialAllConfigurations: true
- liveRuntimeBuildConfig: release
- # Official builds don't run tests, locally or on Helix
- runTests: false
- useHelix: false
+ #
+ # Build libraries AllConfigurations for packages
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platforms:
+ - windows_x64
+ jobParameters:
+ framework: allConfigurations
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ isOfficialAllConfigurations: true
+ liveRuntimeBuildConfig: release
+ # Official builds don't run tests, locally or on Helix
+ runTests: false
+ useHelix: false
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- helixQueueGroup: ci
- platforms:
- - SourceBuild_Linux_x64
- jobParameters:
- nameSuffix: PortableSourceBuild
- extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- extraStepsParameters:
- name: SourceBuildPackages
- timeoutInMinutes: 95
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ helixQueueGroup: ci
+ platforms:
+ - SourceBuild_Linux_x64
+ jobParameters:
+ nameSuffix: PortableSourceBuild
+ extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
+ extraStepsParameters:
+ name: SourceBuildPackages
+ timeoutInMinutes: 95
- #
- # Installer Build
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
- buildConfig: Release
- jobParameters:
- liveRuntimeBuildConfig: release
- liveLibrariesBuildConfig: Release
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
- - windows_x86
- - windows_x64
- - windows_arm
- - windows_arm64
+ #
+ # Installer Build
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
+ buildConfig: Release
+ jobParameters:
+ liveRuntimeBuildConfig: release
+ liveLibrariesBuildConfig: Release
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - windows_x86
+ - windows_x64
+ - windows_arm
+ - windows_arm64
- #
- # Build PGO CoreCLR release
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: release
- platforms:
- - windows_x64
- - windows_x86
- - Linux_x64
- - windows_arm64
- - Linux_arm64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- signBinaries: false
- testGroup: innerloop
- pgoType: 'PGO'
+ #
+ # Build PGO CoreCLR release
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: release
+ platforms:
+ - windows_x64
+ - windows_x86
+ - Linux_x64
+ - windows_arm64
+ - Linux_arm64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ signBinaries: false
+ testGroup: innerloop
+ pgoType: 'PGO'
- #
- # PGO Build
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
- buildConfig: Release
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- liveRuntimeBuildConfig: release
- liveLibrariesBuildConfig: Release
- pgoType: 'PGO'
- platforms:
- - windows_x64
- - windows_x86
- - Linux_x64
- - windows_arm64
- - Linux_arm64
+ #
+ # PGO Build
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
+ buildConfig: Release
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ liveRuntimeBuildConfig: release
+ liveLibrariesBuildConfig: Release
+ pgoType: 'PGO'
+ platforms:
+ - windows_x64
+ - windows_x86
+ - Linux_x64
+ - windows_arm64
+ - Linux_arm64
- #
- # Build Workloads
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/workloads-build.yml
- buildConfig: release
- platforms:
- - windows_x64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- timeoutInMinutes: 120
- dependsOn:
- - Build_Android_arm_release_AllSubsets_Mono
- - Build_Android_arm64_release_AllSubsets_Mono
- - Build_Android_x86_release_AllSubsets_Mono
- - Build_Android_x64_release_AllSubsets_Mono
- - Build_Browser_wasm_Linux_release_AllSubsets_Mono
- - Build_iOS_arm_release_AllSubsets_Mono
- - Build_iOS_arm64_release_AllSubsets_Mono
- - Build_iOSSimulator_x64_release_AllSubsets_Mono
- - Build_iOSSimulator_x86_release_AllSubsets_Mono
- - Build_iOSSimulator_arm64_release_AllSubsets_Mono
- - Build_MacCatalyst_arm64_release_AllSubsets_Mono
- - Build_MacCatalyst_x64_release_AllSubsets_Mono
- - Build_tvOS_arm64_release_AllSubsets_Mono
- - Build_tvOSSimulator_arm64_release_AllSubsets_Mono
- - Build_tvOSSimulator_x64_release_AllSubsets_Mono
- - Build_Windows_x64_release_CrossAOT_Mono
- - installer__coreclr__windows_x64_Release_
- - installer__coreclr__windows_x86_Release_
- - installer__coreclr__windows_arm_Release_
- - installer__coreclr__windows_arm64_Release_
+ #
+ # Build Workloads
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/workloads-build.yml
+ buildConfig: release
+ platforms:
+ - windows_x64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ timeoutInMinutes: 120
+ dependsOn:
+ - Build_Android_arm_release_AllSubsets_Mono
+ - Build_Android_arm64_release_AllSubsets_Mono
+ - Build_Android_x86_release_AllSubsets_Mono
+ - Build_Android_x64_release_AllSubsets_Mono
+ - Build_Browser_wasm_Linux_release_AllSubsets_Mono
+ - Build_iOS_arm_release_AllSubsets_Mono
+ - Build_iOS_arm64_release_AllSubsets_Mono
+ - Build_iOSSimulator_x64_release_AllSubsets_Mono
+ - Build_iOSSimulator_x86_release_AllSubsets_Mono
+ - Build_iOSSimulator_arm64_release_AllSubsets_Mono
+ - Build_MacCatalyst_arm64_release_AllSubsets_Mono
+ - Build_MacCatalyst_x64_release_AllSubsets_Mono
+ - Build_tvOS_arm64_release_AllSubsets_Mono
+ - Build_tvOSSimulator_arm64_release_AllSubsets_Mono
+ - Build_tvOSSimulator_x64_release_AllSubsets_Mono
+ - Build_Windows_x64_release_CrossAOT_Mono
+ - installer__coreclr__windows_x64_Release_
+ - installer__coreclr__windows_x86_Release_
+ - installer__coreclr__windows_arm_Release_
+ - installer__coreclr__windows_arm64_Release_
-- ${{ if eq(variables.isOfficialBuild, true) }}:
- - template: /eng/pipelines/official/stages/publish.yml
- parameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
+ - ${{ if eq(variables.isOfficialBuild, true) }}:
+ - template: /eng/pipelines/official/stages/publish.yml
+ parameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
-
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: debug
- platforms:
- - windows_x64
- jobParameters:
- enableRichCodeNavigation: true
- richCodeNavigationEnvironment: "production"
- richCodeNavigationLanguage: "csharp"
- timeoutInMinutes: 240
- buildArgs: -s libs.sfx+libs.oob -allConfigurations
+ jobs:
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: debug
- platforms:
- - windows_x64
- jobParameters:
- enableRichCodeNavigation: true
- nameSuffix: Mono
- richCodeNavigationEnvironment: "production"
- richCodeNavigationLanguage: "csharp,cpp"
- buildArgs: -s mono -c debug
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: debug
+ platforms:
+ - windows_x64
+ jobParameters:
+ enableRichCodeNavigation: true
+ richCodeNavigationEnvironment: "production"
+ richCodeNavigationLanguage: "csharp"
+ timeoutInMinutes: 240
+ buildArgs: -s libs.sfx+libs.oob -allConfigurations
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: debug
+ platforms:
+ - windows_x64
+ jobParameters:
+ enableRichCodeNavigation: true
+ nameSuffix: Mono
+ richCodeNavigationEnvironment: "production"
+ richCodeNavigationLanguage: "csharp,cpp"
+ buildArgs: -s mono -c debug
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- - template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-#
-# Build the whole product using Mono and run runtime tests with the JIT.
-#
-- 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
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - iOSSimulator_x64
- variables:
- - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- - name: _HelixSource
- value: pr/dotnet/runtime/$(Build.SourceBranch)
- - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- - name: _HelixSource
- value: ci/dotnet/runtime/$(Build.SourceBranch)
- - name: timeoutPerTestInMinutes
- value: 60
- - name: timeoutPerTestCollectionInMinutes
- value: 180
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_RuntimeTests
- buildArgs: -s mono+libs -c $(_BuildConfig)
- timeoutInMinutes: 240
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
- ${{ if eq(variables['isRollingBuild'], true) }}:
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ #
+ # Build the whole product using Mono and run runtime tests with the JIT.
+ #
+ - 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
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - iOSSimulator_x64
+ variables:
+ - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
+ - name: _HelixSource
+ value: pr/dotnet/runtime/$(Build.SourceBranch)
+ - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
+ - name: _HelixSource
+ value: ci/dotnet/runtime/$(Build.SourceBranch)
+ - name: timeoutPerTestInMinutes
+ value: 60
+ - name: timeoutPerTestCollectionInMinutes
+ value: 180
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_RuntimeTests
+ buildArgs: -s mono+libs -c $(_BuildConfig)
+ timeoutInMinutes: 240
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+ ${{ if eq(variables['isRollingBuild'], true) }}:
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
- excludeNonLibTests: true
- excludeLibTests: false
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
+ excludeNonLibTests: true
+ excludeLibTests: false
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
- excludeNonLibTests: false
- excludeLibTests: true
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
+ excludeNonLibTests: false
+ excludeLibTests: true
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-#- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- #- template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ #- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ #- template: /eng/pipelines/common/evaluate-default-paths.yml
-- template: /eng/pipelines/coreclr/perf-wasm-jobs.yml
- parameters:
- runProfile: 'v8'
- collectHelixLogsScript: ${{ variables._wasmCollectHelixLogsScript }}
- onlySanityCheck: true
- #perfForkToUse:
- #url: https://github.com/radical/performance
- #branch: fix-build
- #downloadSpecificBuild:
- #buildId: '1878694'
- #pipeline: 'perf-wasm'
- #branchName: 'refs/pull/72119/head'
+ - template: /eng/pipelines/coreclr/perf-wasm-jobs.yml
+ parameters:
+ runProfile: 'v8'
+ collectHelixLogsScript: ${{ variables._wasmCollectHelixLogsScript }}
+ onlySanityCheck: true
+ #perfForkToUse:
+ #url: https://github.com/radical/performance
+ #branch: fix-build
+ #downloadSpecificBuild:
+ #buildId: '1878694'
+ #pipeline: 'perf-wasm'
+ #branchName: 'refs/pull/72119/head'
variables:
- template: /eng/pipelines/common/variables.yml
-jobs:
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
+ parameters:
+ jobs:
-#
-# Evaluate paths
-#
-- template: /eng/pipelines/common/evaluate-default-paths.yml
+ #
+ # Evaluate paths
+ #
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
-- template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
- parameters:
- isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
- isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
- isRollingBuild: ${{ variables.isRollingBuild }}
+ - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
+ parameters:
+ isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }}
+ isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }}
+ isRollingBuild: ${{ variables.isRollingBuild }}
variables:
- template: /eng/pipelines/common/variables.yml
-resources:
- containers:
- # Define auxilary containers used by the installer jobs
- - container: debpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-debpkg-20220504035737-cfdd435
- - container: rpmpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-rpmpkg-20210714125410-daa5116
-
-jobs:
-
-#
-# Evaluate paths
-#
-- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
- - template: /eng/pipelines/common/evaluate-default-paths.yml
-
-#
-# Build CoreCLR checked
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
+extends:
+ template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platforms:
- - Linux_x86
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_arm
- - Linux_musl_arm64
- - Linux_musl_x64
- - OSX_arm64
- - Tizen_armel
- - windows_x86
- - windows_x64
- - windows_arm
- - windows_arm64
- jobParameters:
- testGroup: innerloop
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build the whole product using GNU compiler toolchain
-# When CoreCLR, Mono, Libraries, Installer and src/tests are changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- container: debian-11-gcc12-amd64-20220511124845-b7a6185
- jobParameters:
- testGroup: innerloop
- compilerName: gcc
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build CoreCLR OSX_x64 checked
-# Only when CoreCLR or Libraries is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platforms:
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build CoreCLR release
-# Always as they are needed by Installer and we always build and test the Installer.
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: release
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
- - windows_x64
- - windows_x86
- - windows_arm
- - windows_arm64
- - FreeBSD_x64
- jobParameters:
- testGroup: innerloop
- # Mono/runtimetests also need this, but skip for wasm
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build CoreCLR Formatting Job
-# Only when CoreCLR is changed, and only in the 'main' branch (no release branches;
-# both Rolling and PR builds).
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/format-job.yml
- platforms:
- - Linux_x64
- - windows_x64
- jobParameters:
- condition: >-
- and(
- or(
- eq(variables['Build.SourceBranchName'], 'main'),
- eq(variables['System.PullRequest.TargetBranch'], 'main')),
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr_jit.containsChange'], true),
- eq(variables['isRollingBuild'], true)))
-
-#
-# CoreCLR NativeAOT debug build and smoke tests
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: debug
- platforms:
- - Linux_x64
- - windows_x64
- jobParameters:
- testGroup: innerloop
- timeoutInMinutes: 120
- nameSuffix: NativeAOT
- buildArgs: -s clr.aot+libs -rc $(_BuildConfig) -lc Release
- extraStepsTemplate: /eng/pipelines/coreclr/nativeaot-post-build-steps.yml
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isFullMatrix'], true))
-
-#
-# CoreCLR NativeAOT checked build and smoke tests
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: checked
- platforms:
- - windows_x64
- jobParameters:
- testGroup: innerloop
- timeoutInMinutes: 120
- nameSuffix: NativeAOT
- buildArgs: -s clr.aot+libs -rc $(_BuildConfig) -lc Release
- extraStepsTemplate: /eng/pipelines/coreclr/nativeaot-post-build-steps.yml
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isFullMatrix'], true))
-
-#
-# CoreCLR NativeAOT release build and smoke tests
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- platforms:
- - Linux_x64
- - windows_x64
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- timeoutInMinutes: 120
- nameSuffix: NativeAOT
- buildArgs: -s clr.aot+libs -rc $(_BuildConfig) -lc Release
- extraStepsTemplate: /eng/pipelines/coreclr/nativeaot-post-build-steps.yml
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isFullMatrix'], true))
-
-#
-# CoreCLR NativeAOT release build and libraries tests
-# Only when CoreCLR or library is changed
-#
-- 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_arm64
- - Linux_arm64
- - OSX_arm64
- jobParameters:
- testGroup: innerloop
- isSingleFile: true
- nameSuffix: NativeAOT
- buildArgs: -s clr.aot+libs+libs.tests -c $(_BuildConfig) /p:TestNativeAot=true /p:RunSmokeTestsOnly=true /p:ArchiveTests=true
- timeoutInMinutes: 240 # Doesn't actually take long, but we've seen the ARM64 Helix queue often get backlogged for 2+ hours
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig)
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(variables['isFullMatrix'], true))
-
-# Build and test clr tools
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
- buildConfig: checked
- platforms:
- - Linux_x64
- jobParameters:
- testGroup: clrTools
- timeoutInMinutes: 120
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-# Build Mono AOT offset headers once, for consumption elsewhere
-# Only when mono changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/generate-offsets.yml
- buildConfig: release
- platforms:
- - Android_x64
- #- Browser_wasm - unused
- - tvOS_arm64
- - iOS_arm64
- - MacCatalyst_x64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- # needed by crossaot
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-# Build the whole product using Mono runtime
-# Only when libraries, mono or installer are changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- runtimeFlavor: mono
- platforms:
- - tvOSSimulator_x64
- - iOSSimulator_x86
- - Linux_arm
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - iOS_arm
- - Linux_musl_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# WebAssembly legs
-#
-- template: /eng/pipelines/common/templates/wasm-library-tests.yml
- parameters:
- platforms:
- - Browser_wasm
- buildAndRunWasi: true
- alwaysRun: ${{ variables.isRollingBuild }}
- scenarios:
- - normal
- - WasmTestOnBrowser
-
-- template: /eng/pipelines/common/templates/wasm-library-tests.yml
- parameters:
- platforms:
- - Browser_wasm_win
- alwaysRun: ${{ variables.isRollingBuild }}
- scenarios:
- - WasmTestOnBrowser
-
-# EAT Library tests - only run on linux
-- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
- parameters:
- platforms:
- - Browser_wasm
- nameSuffix: _EAT
- runAOT: false
- shouldRunSmokeOnly: false
- alwaysRun: ${{ variables.isRollingBuild }}
-
-# AOT Library tests
-- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
- parameters:
- platforms:
- - Browser_wasm
- nameSuffix: _AOT
- runAOT: true
- shouldRunSmokeOnly: true
- alwaysRun: ${{ variables.isRollingBuild }}
-
-- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
- parameters:
- platforms:
- - Browser_wasm_win
- nameSuffix: _AOT
- runAOT: true
- shouldRunSmokeOnly: true
- alwaysRun: ${{ variables.isRollingBuild }}
-
-# Wasm.Build.Tests
-- template: /eng/pipelines/common/templates/wasm-build-tests.yml
- parameters:
- platforms:
- - Browser_wasm
- - Browser_wasm_win
- alwaysRun: ${{ variables.isRollingBuild }}
-
-# Wasm Debugger tests
-- template: /eng/pipelines/common/templates/wasm-debugger-tests.yml
- parameters:
- platforms:
- - Browser_wasm
- - Browser_wasm_win
- alwaysRun: ${{ variables.isRollingBuild }}
-
-# Wasm runtime tests
-- template: /eng/pipelines/common/templates/wasm-runtime-tests.yml
- parameters:
- platforms:
- - Browser_wasm
- alwaysRun: ${{ variables.isRollingBuild }}
-
-# BUILD ONLY - Wasm Threading Legs
-- template: /eng/pipelines/common/templates/wasm-build-only.yml
- parameters:
- platforms:
- - Browser_wasm
- nameSuffix: _Threading
- extraBuildArgs: /p:WasmEnableThreads=true
- alwaysRun: ${{ variables.isRollingBuild }}
-
-- template: /eng/pipelines/common/templates/wasm-build-only.yml
- parameters:
- platforms:
- - Browser_wasm
- nameSuffix: _Threading_PerfTracing
- extraBuildArgs: /p:WasmEnablePerfTracing=true
- alwaysRun: ${{ variables.isRollingBuild }}
-
-#
-# iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size
-# Build the whole product using Mono and run libraries tests
-#
-- 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
- runtimeFlavor: mono
- platforms:
- - iOS_arm64
- - tvOS_arm64
- variables:
- # map dependencies variables to local variables
- - name: librariesContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- - name: monoContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true
- timeoutInMinutes: 180
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
- extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true
- condition: >-
- or(
- eq(variables['librariesContainsChange'], true),
- eq(variables['monoContainsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# MacCatalyst interp - requires AOT Compilation and Interp flags
-# Build the whole product using Mono and run libraries tests
-#
-- 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
- runtimeFlavor: mono
- platforms:
- - MacCatalyst_x64
- - ${{ if eq(variables['isRollingBuild'], true) }}:
- - MacCatalyst_arm64
- variables:
- # map dependencies variables to local variables
- - name: librariesContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- - name: monoContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true
- timeoutInMinutes: 180
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
- condition: >-
- or(
- eq(variables['librariesContainsChange'], true),
- eq(variables['monoContainsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build Mono and Installer on LLVMJIT mode
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMJIT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- - Linux_arm64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMJIT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build Mono and Installer on LLVMAOT mode
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- - Linux_arm64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMAOT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- runtimeFlavor: mono
- platforms:
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono_LLVMAOT
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
- /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build Mono debug
-# Only when mono changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: debug
- platforms:
- - OSX_x64
- - OSX_arm64
- - Linux_x64
- - Linux_arm64
- # - Linux_musl_arm64
- - windows_x64
- - windows_x86
- # - windows_arm
- # - windows_arm64
- jobParameters:
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build Mono release AOT cross-compilers
-# Only when mono changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - Linux_x64
- # - Linux_arm64
- # - Linux_musl_arm64
- - Windows_x64
- # - windows_x86
- # - windows_arm
- # - windows_arm64
- jobParameters:
- runtimeVariant: crossaot
- dependsOn:
- - mono_android_offsets
- #- mono_browser_offsets - unused
- monoCrossAOTTargetOS:
- - Android
- #- Browser - unused
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - OSX_x64
- jobParameters:
- runtimeVariant: crossaot
- dependsOn:
- - mono_android_offsets
- #- mono_browser_offsets - unused
- - mono_tvos_offsets
- - mono_ios_offsets
- - mono_maccatalyst_offsets
- monoCrossAOTTargetOS:
- - Android
- #- Browser - unused
- - tvOS
- - iOS
- - MacCatalyst
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build Mono release
-# Only when libraries or mono changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - Linux_x64
- # - Linux_musl_arm64
- - windows_x64
- - windows_x86
- # - windows_arm
- # - windows_arm64
- jobParameters:
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build Mono release
-# Only when libraries, mono, or the runtime tests changed
-# Currently only these architectures are needed for the runtime tests.
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - OSX_x64
- - Linux_arm64
- jobParameters:
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build Mono release with LLVM AOT
-# Only when mono, or the runtime tests changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/mono/templates/build-job.yml
- runtimeFlavor: mono
- buildConfig: release
- platforms:
- - Linux_x64
- - Linux_arm64
- jobParameters:
- runtimeVariant: llvmaot
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Build libraries using live CoreLib
-# These set of libraries are built always no matter what changed
-# The reason for that is because Corelib and Installer needs it and
-# These are part of the test matrix for Libraries changes.
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - Linux_arm
- - Linux_musl_arm
- - Linux_musl_arm64
- - windows_arm
- - windows_arm64
- - windows_x86
- jobParameters:
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- platforms:
- - Linux_arm64
- - Linux_musl_x64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
- - windows_x64
- - FreeBSD_x64
- jobParameters:
- testScope: innerloop
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# 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
-#
-- ${{ if eq(variables['isRollingBuild'], false) }}:
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Debug
- platforms:
- - 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)
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - windows_x86
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- framework: net48
- runTests: true
- testScope: innerloop
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- platforms:
- - windows_x64
- jobParameters:
- framework: allConfigurations
- runTests: true
- useHelix: false
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Installer Build and Test
-# These are always built since they only take like 15 minutes
-# we expect these to be done before we finish libraries or coreclr testing.
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- platforms:
- - Linux_musl_arm
- - Linux_musl_arm64
- - windows_x86
- - windows_arm
- - windows_arm64
- - Linux_arm
- jobParameters:
- liveRuntimeBuildConfig: release
- liveLibrariesBuildConfig: Release
- runOnlyIfDependenciesSucceeded: true
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
- buildConfig: Release
- platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm64
- - Linux_musl_x64
- - windows_x64
- - FreeBSD_x64
- jobParameters:
- liveRuntimeBuildConfig: release
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- runOnlyIfDependenciesSucceeded: true
- condition:
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# CoreCLR Test builds using live libraries release build
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# CoreCLR Test executions using live libraries
-# Only when CoreCLR is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - Linux_arm
- - windows_x86
- - windows_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: Release
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_x64
- - Linux_x64
- - Linux_arm64
- - windows_x64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr_AppleSilicon.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Mono Test builds with CoreCLR runtime tests using live libraries debug build
-# Only when Mono is changed
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Mono CoreCLR runtime Test executions using live libraries in jit mode
-# Only when Mono is changed
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - OSX_x64
- - windows_x64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- liveRuntimeBuildConfig: release
- runtimeVariant: minijit
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Mono CoreCLR runtime Test executions using live libraries in interpreter mode
-# Only when Mono is changed
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - OSX_x64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- liveRuntimeBuildConfig: release
- runtimeVariant: monointerpreter
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-#
-# Mono CoreCLR runtime Test executions using live libraries and LLVM AOT
-# Only when Mono is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- # Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation
- #- Linux_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- liveRuntimeBuildConfig: release
- runtimeVariant: llvmaot
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Mono CoreCLR runtime Test executions using live libraries and LLVM Full AOT
-# Only when Mono is changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - Linux_x64
- - Linux_arm64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- liveRuntimeBuildConfig: release
- runtimeVariant: llvmfullaot
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Libraries Release Test Execution against a release mono runtime.
-# Only when libraries or mono changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- runtimeFlavor: mono
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- platforms:
- # - windows_x64
- - OSX_x64
- - Linux_arm64
- - Linux_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isOfficialBuild: false
- runtimeDisplayName: mono
- testScope: innerloop
- liveRuntimeBuildConfig: release
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Libraries Release Test Execution against a release mono interpreter runtime.
-# Only when libraries or mono changed
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- runtimeFlavor: mono
- buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- platforms:
- # - windows_x64
- #- OSX_x64
- - Linux_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isOfficialBuild: false
- interpreter: true
- runtimeDisplayName: mono_interpreter
- testScope: innerloop
- liveRuntimeBuildConfig: release
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.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
- condition: >-
- or(
- eq(dependencies.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_x64
- - Linux_x64
- - Linux_musl_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isOfficialBuild: false
- testScope: innerloop
- liveRuntimeBuildConfig: release
- condition: >-
- or(
- 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 |
-
-#
-# 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
- condition: >-
- or(
- eq(dependencies.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
- condition: >-
- or(
- eq(dependencies.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_x64
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- helixQueueGroup: libraries
- jobParameters:
- testScope: innerloop
- liveRuntimeBuildConfig: checked
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(variables['isRollingBuild'], true))
-
-#
-# Sourcebuild legs
-# We have 3 important legs for source-build:
-# - Centos.7 (ensures that RH keeps working)
-# - Linux-x64 portable (used for dependency flow and downstream PR verification)
-# - Banana.24 - Non-existent RID to ensure we don't break RIDs we don't know about.
-#
-# Running all of these everywhere is wasteful. Run Banana.24 and CentOS.7 in rolling CI,
-# Run Linux-x64 in PR.
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- helixQueueGroup: pr
- platforms:
- - SourceBuild_Centos7_x64
- jobParameters:
- nameSuffix: Centos7SourceBuild
- extraStepsParameters:
- name: SourceBuildPackages
- timeoutInMinutes: 95
- condition: eq(variables['isRollingBuild'], true)
-
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Debug
- helixQueueGroup: pr
- platforms:
- - SourceBuild_Banana24_x64
- jobParameters:
- nameSuffix: Banana24SourceBuild
- extraStepsParameters:
- name: SourceBuildPackages
- timeoutInMinutes: 95
- condition: eq(variables['isRollingBuild'], true)
+ jobs:
+ #
+ # Evaluate paths
+ #
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-default-paths.yml
+
+ #
+ # Build CoreCLR checked
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x86
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - Linux_musl_x64
+ - OSX_arm64
+ - Tizen_armel
+ - windows_x86
+ - windows_x64
+ - windows_arm
+ - windows_arm64
+ jobParameters:
+ testGroup: innerloop
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build the whole product using GNU compiler toolchain
+ # When CoreCLR, Mono, Libraries, Installer and src/tests are changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ container: debian-11-gcc12-amd64-20220511124845-b7a6185
+ jobParameters:
+ testGroup: innerloop
+ compilerName: gcc
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build CoreCLR OSX_x64 checked
+ # Only when CoreCLR or Libraries is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_x64
+ jobParameters:
+ testGroup: innerloop
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build CoreCLR release
+ # Always as they are needed by Installer and we always build and test the Installer.
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: release
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_x64
+ - Linux_arm
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - windows_x64
+ - windows_x86
+ - windows_arm
+ - windows_arm64
+ - FreeBSD_x64
+ jobParameters:
+ testGroup: innerloop
+ # Mono/runtimetests also need this, but skip for wasm
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build CoreCLR Formatting Job
+ # Only when CoreCLR is changed, and only in the 'main' branch (no release branches;
+ # both Rolling and PR builds).
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/format-job.yml
+ platforms:
+ - Linux_x64
+ - windows_x64
+ jobParameters:
+ condition: >-
+ and(
+ or(
+ eq(variables['Build.SourceBranchName'], 'main'),
+ eq(variables['System.PullRequest.TargetBranch'], 'main')),
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr_jit.containsChange'], true),
+ eq(variables['isRollingBuild'], true)))
+
+ #
+ # CoreCLR NativeAOT debug build and smoke tests
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: debug
+ platforms:
+ - Linux_x64
+ - windows_x64
+ jobParameters:
+ testGroup: innerloop
+ timeoutInMinutes: 120
+ nameSuffix: NativeAOT
+ buildArgs: -s clr.aot+libs -rc $(_BuildConfig) -lc Release
+ extraStepsTemplate: /eng/pipelines/coreclr/nativeaot-post-build-steps.yml
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isFullMatrix'], true))
+
+ #
+ # CoreCLR NativeAOT checked build and smoke tests
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: checked
+ platforms:
+ - windows_x64
+ jobParameters:
+ testGroup: innerloop
+ timeoutInMinutes: 120
+ nameSuffix: NativeAOT
+ buildArgs: -s clr.aot+libs -rc $(_BuildConfig) -lc Release
+ extraStepsTemplate: /eng/pipelines/coreclr/nativeaot-post-build-steps.yml
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isFullMatrix'], true))
+
+ #
+ # CoreCLR NativeAOT release build and smoke tests
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ - windows_x64
+ - OSX_x64
+ jobParameters:
+ testGroup: innerloop
+ timeoutInMinutes: 120
+ nameSuffix: NativeAOT
+ buildArgs: -s clr.aot+libs -rc $(_BuildConfig) -lc Release
+ extraStepsTemplate: /eng/pipelines/coreclr/nativeaot-post-build-steps.yml
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isFullMatrix'], true))
+
+ #
+ # CoreCLR NativeAOT release build and libraries tests
+ # Only when CoreCLR or library is changed
+ #
+ - 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_arm64
+ - Linux_arm64
+ - OSX_arm64
+ jobParameters:
+ testGroup: innerloop
+ isSingleFile: true
+ nameSuffix: NativeAOT
+ buildArgs: -s clr.aot+libs+libs.tests -c $(_BuildConfig) /p:TestNativeAot=true /p:RunSmokeTestsOnly=true /p:ArchiveTests=true
+ timeoutInMinutes: 240 # Doesn't actually take long, but we've seen the ARM64 Helix queue often get backlogged for 2+ hours
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig)
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(variables['isFullMatrix'], true))
+
+ # Build and test clr tools
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ jobParameters:
+ testGroup: clrTools
+ timeoutInMinutes: 120
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ # Build Mono AOT offset headers once, for consumption elsewhere
+ # Only when mono changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/generate-offsets.yml
+ buildConfig: release
+ platforms:
+ - Android_x64
+ #- Browser_wasm - unused
+ - tvOS_arm64
+ - iOS_arm64
+ - MacCatalyst_x64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ # needed by crossaot
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ # Build the whole product using Mono runtime
+ # Only when libraries, mono or installer are changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ runtimeFlavor: mono
+ platforms:
+ - tvOSSimulator_x64
+ - iOSSimulator_x86
+ - Linux_arm
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - iOS_arm
+ - Linux_musl_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # WebAssembly legs
+ #
+ - template: /eng/pipelines/common/templates/wasm-library-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ buildAndRunWasi: true
+ alwaysRun: ${{ variables.isRollingBuild }}
+ scenarios:
+ - normal
+ - WasmTestOnBrowser
+
+ - template: /eng/pipelines/common/templates/wasm-library-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm_win
+ alwaysRun: ${{ variables.isRollingBuild }}
+ scenarios:
+ - WasmTestOnBrowser
+
+ # EAT Library tests - only run on linux
+ - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ nameSuffix: _EAT
+ runAOT: false
+ shouldRunSmokeOnly: false
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ # AOT Library tests
+ - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ nameSuffix: _AOT
+ runAOT: true
+ shouldRunSmokeOnly: true
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm_win
+ nameSuffix: _AOT
+ runAOT: true
+ shouldRunSmokeOnly: true
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ # Wasm.Build.Tests
+ - template: /eng/pipelines/common/templates/wasm-build-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ - Browser_wasm_win
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ # Wasm Debugger tests
+ - template: /eng/pipelines/common/templates/wasm-debugger-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ - Browser_wasm_win
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ # Wasm runtime tests
+ - template: /eng/pipelines/common/templates/wasm-runtime-tests.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ # BUILD ONLY - Wasm Threading Legs
+ - template: /eng/pipelines/common/templates/wasm-build-only.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ nameSuffix: _Threading
+ extraBuildArgs: /p:WasmEnableThreads=true
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ - template: /eng/pipelines/common/templates/wasm-build-only.yml
+ parameters:
+ platforms:
+ - Browser_wasm
+ nameSuffix: _Threading_PerfTracing
+ extraBuildArgs: /p:WasmEnablePerfTracing=true
+ alwaysRun: ${{ variables.isRollingBuild }}
+
+ #
+ # iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size
+ # Build the whole product using Mono and run libraries tests
+ #
+ - 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
+ runtimeFlavor: mono
+ platforms:
+ - iOS_arm64
+ - tvOS_arm64
+ variables:
+ # map dependencies variables to local variables
+ - name: librariesContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
+ - name: monoContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true
+ timeoutInMinutes: 180
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true
+ condition: >-
+ or(
+ eq(variables['librariesContainsChange'], true),
+ eq(variables['monoContainsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # MacCatalyst interp - requires AOT Compilation and Interp flags
+ # Build the whole product using Mono and run libraries tests
+ #
+ - 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
+ runtimeFlavor: mono
+ platforms:
+ - MacCatalyst_x64
+ - ${{ if eq(variables['isRollingBuild'], true) }}:
+ - MacCatalyst_arm64
+ variables:
+ # map dependencies variables to local variables
+ - name: librariesContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
+ - name: monoContainsChange
+ value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true
+ timeoutInMinutes: 180
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+ # extra steps, run tests
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ condition: >-
+ or(
+ eq(variables['librariesContainsChange'], true),
+ eq(variables['monoContainsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build Mono and Installer on LLVMJIT mode
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - OSX_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMJIT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMJIT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build Mono and Installer on LLVMAOT mode
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMAOT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ runtimeFlavor: mono
+ platforms:
+ - OSX_x64
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono_LLVMAOT
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build Mono debug
+ # Only when mono changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: debug
+ platforms:
+ - OSX_x64
+ - OSX_arm64
+ - Linux_x64
+ - Linux_arm64
+ # - Linux_musl_arm64
+ - windows_x64
+ - windows_x86
+ # - windows_arm
+ # - windows_arm64
+ jobParameters:
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build Mono release AOT cross-compilers
+ # Only when mono changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ # - Linux_arm64
+ # - Linux_musl_arm64
+ - Windows_x64
+ # - windows_x86
+ # - windows_arm
+ # - windows_arm64
+ jobParameters:
+ runtimeVariant: crossaot
+ dependsOn:
+ - mono_android_offsets
+ #- mono_browser_offsets - unused
+ monoCrossAOTTargetOS:
+ - Android
+ #- Browser - unused
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - OSX_x64
+ jobParameters:
+ runtimeVariant: crossaot
+ dependsOn:
+ - mono_android_offsets
+ #- mono_browser_offsets - unused
+ - mono_tvos_offsets
+ - mono_ios_offsets
+ - mono_maccatalyst_offsets
+ monoCrossAOTTargetOS:
+ - Android
+ #- Browser - unused
+ - tvOS
+ - iOS
+ - MacCatalyst
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build Mono release
+ # Only when libraries or mono changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ # - Linux_musl_arm64
+ - windows_x64
+ - windows_x86
+ # - windows_arm
+ # - windows_arm64
+ jobParameters:
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build Mono release
+ # Only when libraries, mono, or the runtime tests changed
+ # Currently only these architectures are needed for the runtime tests.
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - OSX_x64
+ - Linux_arm64
+ jobParameters:
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build Mono release with LLVM AOT
+ # Only when mono, or the runtime tests changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/mono/templates/build-job.yml
+ runtimeFlavor: mono
+ buildConfig: release
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ jobParameters:
+ runtimeVariant: llvmaot
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Build libraries using live CoreLib
+ # These set of libraries are built always no matter what changed
+ # The reason for that is because Corelib and Installer needs it and
+ # These are part of the test matrix for Libraries changes.
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_arm
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - windows_arm
+ - windows_arm64
+ - windows_x86
+ jobParameters:
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ platforms:
+ - Linux_arm64
+ - Linux_musl_x64
+ - Linux_x64
+ - OSX_arm64
+ - OSX_x64
+ - windows_x64
+ - FreeBSD_x64
+ jobParameters:
+ testScope: innerloop
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # 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
+ #
+ - ${{ if eq(variables['isRollingBuild'], false) }}:
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Debug
+ platforms:
+ - 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)
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: Release
+ platforms:
+ - windows_x86
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ framework: net48
+ runTests: true
+ testScope: innerloop
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ platforms:
+ - windows_x64
+ jobParameters:
+ framework: allConfigurations
+ runTests: true
+ useHelix: false
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Installer Build and Test
+ # These are always built since they only take like 15 minutes
+ # we expect these to be done before we finish libraries or coreclr testing.
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ platforms:
+ - Linux_musl_arm
+ - Linux_musl_arm64
+ - windows_x86
+ - windows_arm
+ - windows_arm64
+ - Linux_arm
+ jobParameters:
+ liveRuntimeBuildConfig: release
+ liveLibrariesBuildConfig: Release
+ runOnlyIfDependenciesSucceeded: true
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
+ buildConfig: Release
+ platforms:
+ - OSX_arm64
+ - OSX_x64
+ - Linux_x64
+ - Linux_arm64
+ - Linux_musl_x64
+ - windows_x64
+ - FreeBSD_x64
+ jobParameters:
+ liveRuntimeBuildConfig: release
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ runOnlyIfDependenciesSucceeded: true
+ condition:
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # CoreCLR Test builds using live libraries release build
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # CoreCLR Test executions using live libraries
+ # Only when CoreCLR is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm
+ - windows_x86
+ - windows_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: Release
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_x64
+ - Linux_x64
+ - Linux_arm64
+ - windows_x64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - OSX_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr_AppleSilicon.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Mono Test builds with CoreCLR runtime tests using live libraries debug build
+ # Only when Mono is changed
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Mono CoreCLR runtime Test executions using live libraries in jit mode
+ # Only when Mono is changed
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - OSX_x64
+ - windows_x64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ liveRuntimeBuildConfig: release
+ runtimeVariant: minijit
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Mono CoreCLR runtime Test executions using live libraries in interpreter mode
+ # Only when Mono is changed
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - OSX_x64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ liveRuntimeBuildConfig: release
+ runtimeVariant: monointerpreter
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+ #
+ # Mono CoreCLR runtime Test executions using live libraries and LLVM AOT
+ # Only when Mono is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ # Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation
+ #- Linux_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ liveRuntimeBuildConfig: release
+ runtimeVariant: llvmaot
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Mono CoreCLR runtime Test executions using live libraries and LLVM Full AOT
+ # Only when Mono is changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: release
+ runtimeFlavor: mono
+ platforms:
+ - Linux_x64
+ - Linux_arm64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ liveRuntimeBuildConfig: release
+ runtimeVariant: llvmfullaot
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Libraries Release Test Execution against a release mono runtime.
+ # Only when libraries or mono changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ runtimeFlavor: mono
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ platforms:
+ # - windows_x64
+ - OSX_x64
+ - Linux_arm64
+ - Linux_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isOfficialBuild: false
+ runtimeDisplayName: mono
+ testScope: innerloop
+ liveRuntimeBuildConfig: release
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Libraries Release Test Execution against a release mono interpreter runtime.
+ # Only when libraries or mono changed
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ runtimeFlavor: mono
+ buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
+ platforms:
+ # - windows_x64
+ #- OSX_x64
+ - Linux_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isOfficialBuild: false
+ interpreter: true
+ runtimeDisplayName: mono_interpreter
+ testScope: innerloop
+ liveRuntimeBuildConfig: release
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.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
+ condition: >-
+ or(
+ eq(dependencies.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_x64
+ - Linux_x64
+ - Linux_musl_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isOfficialBuild: false
+ testScope: innerloop
+ liveRuntimeBuildConfig: release
+ condition: >-
+ or(
+ 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 |
+
+ #
+ # 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
+ condition: >-
+ or(
+ eq(dependencies.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
+ condition: >-
+ or(
+ eq(dependencies.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_x64
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ helixQueueGroup: libraries
+ jobParameters:
+ testScope: innerloop
+ liveRuntimeBuildConfig: checked
+ condition: >-
+ or(
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(variables['isRollingBuild'], true))
+
+ #
+ # Sourcebuild legs
+ # We have 3 important legs for source-build:
+ # - Centos.7 (ensures that RH keeps working)
+ # - Linux-x64 portable (used for dependency flow and downstream PR verification)
+ # - Banana.24 - Non-existent RID to ensure we don't break RIDs we don't know about.
+ #
+ # Running all of these everywhere is wasteful. Run Banana.24 and CentOS.7 in rolling CI,
+ # Run Linux-x64 in PR.
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ helixQueueGroup: pr
+ platforms:
+ - SourceBuild_Centos7_x64
+ jobParameters:
+ nameSuffix: Centos7SourceBuild
+ extraStepsParameters:
+ name: SourceBuildPackages
+ timeoutInMinutes: 95
+ condition: eq(variables['isRollingBuild'], true)
+
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Debug
+ helixQueueGroup: pr
+ platforms:
+ - SourceBuild_Banana24_x64
+ jobParameters:
+ nameSuffix: Banana24SourceBuild
+ extraStepsParameters:
+ name: SourceBuildPackages
+ timeoutInMinutes: 95
+ condition: eq(variables['isRollingBuild'], true)
- name: TeamName
value: dotnet-core
-stages:
-- stage: Build
- jobs:
+extends:
+ template: /eng/pipelines/common/templates/pipeline-with-resources.yml
+ parameters:
+ stages:
+ - stage: Build
+ jobs:
- #
- # Build with Debug config and Checked runtimeConfiguration
- #
- - ${{ if ne(variables.isOfficialBuild, true) }}:
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Checked
- platforms:
- - Linux_x64
- - windows_x64
- jobParameters:
- timeoutInMinutes: 100
- testGroup: innerloop
- buildArgs: -s clr+libs+host+packs -c debug -runtimeConfiguration Checked
- extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
- extraStepsParameters:
- uploadRuntimeTests: true
+ #
+ # Build with Debug config and Checked runtimeConfiguration
+ #
+ - ${{ if ne(variables.isOfficialBuild, true) }}:
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Checked
+ platforms:
+ - Linux_x64
+ - windows_x64
+ jobParameters:
+ timeoutInMinutes: 100
+ testGroup: innerloop
+ buildArgs: -s clr+libs+host+packs -c debug -runtimeConfiguration Checked
+ extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
+ extraStepsParameters:
+ uploadRuntimeTests: true
- #
- # Build with Release config and Release runtimeConfiguration
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- platforms:
- - Linux_x64
- - windows_x64
- jobParameters:
- timeoutInMinutes: 100
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- testGroup: innerloop
- extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
- extraStepsParameters:
- uploadLibrariesTests: ${{ eq(variables.isOfficialBuild, false) }}
- uploadIntermediateArtifacts: false
- ${{ if eq(variables.isOfficialBuild, false) }}:
- buildArgs: -s clr+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true
- ${{ if eq(variables.isOfficialBuild, true) }}:
- buildArgs: -s clr+libs -c $(_BuildConfig)
+ #
+ # Build with Release config and Release runtimeConfiguration
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_x64
+ - windows_x64
+ jobParameters:
+ timeoutInMinutes: 100
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ testGroup: innerloop
+ extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
+ extraStepsParameters:
+ uploadLibrariesTests: ${{ eq(variables.isOfficialBuild, false) }}
+ uploadIntermediateArtifacts: false
+ ${{ if eq(variables.isOfficialBuild, false) }}:
+ buildArgs: -s clr+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true
+ ${{ if eq(variables.isOfficialBuild, true) }}:
+ buildArgs: -s clr+libs -c $(_BuildConfig)
- #
- # Build with Release allConfigurations to produce packages
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: Release
- platforms:
- - windows_x64
- jobParameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- testGroup: innerloop
- nameSuffix: AllConfigurations
- buildArgs: -s libs -c $(_BuildConfig) -allConfigurations
- ${{ if eq(variables.isOfficialBuild, true) }}:
- extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
- extraStepsParameters:
- uploadIntermediateArtifacts: true
- isOfficialBuild: true
- librariesBinArtifactName: libraries_bin_official_allconfigurations
+ #
+ # Build with Release allConfigurations to produce packages
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Release
+ platforms:
+ - windows_x64
+ jobParameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ testGroup: innerloop
+ nameSuffix: AllConfigurations
+ buildArgs: -s libs -c $(_BuildConfig) -allConfigurations
+ ${{ if eq(variables.isOfficialBuild, true) }}:
+ extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
+ extraStepsParameters:
+ uploadIntermediateArtifacts: true
+ isOfficialBuild: true
+ librariesBinArtifactName: libraries_bin_official_allconfigurations
- # Installer official builds need to build installers and need the libraries all configurations build
- - ${{ if eq(variables.isOfficialBuild, true) }}:
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
- jobParameters:
- liveRuntimeBuildConfig: Release
- liveLibrariesBuildConfig: Release
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- useOfficialAllConfigurations: true
- dependsOnGlobalBuild: true
- platforms:
- - Linux_x64
- - windows_x64
+ # Installer official builds need to build installers and need the libraries all configurations build
+ - ${{ if eq(variables.isOfficialBuild, true) }}:
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
+ jobParameters:
+ liveRuntimeBuildConfig: Release
+ liveLibrariesBuildConfig: Release
+ isOfficialBuild: ${{ variables.isOfficialBuild }}
+ useOfficialAllConfigurations: true
+ dependsOnGlobalBuild: true
+ platforms:
+ - Linux_x64
+ - windows_x64
- - ${{ if ne(variables.isOfficialBuild, true) }}:
- #
- # CoreCLR Test builds using live libraries release build
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: Checked
- platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
- jobParameters:
- testGroup: innerloop
- dependsOn:
- - build_Linux_x64_Checked_
- - build_Linux_x64_Release_
+ - ${{ if ne(variables.isOfficialBuild, true) }}:
+ #
+ # CoreCLR Test builds using live libraries release build
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: Checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: innerloop
+ dependsOn:
+ - build_Linux_x64_Checked_
+ - build_Linux_x64_Release_
- #
- # CoreCLR Test executions using live libraries
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: Checked
- platforms:
- - Linux_x64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: Release
- dependsOn:
- - coreclr_common_test_build_p0_AnyOS_AnyCPU_Checked
+ #
+ # CoreCLR Test executions using live libraries
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: Checked
+ platforms:
+ - Linux_x64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: Release
+ dependsOn:
+ - coreclr_common_test_build_p0_AnyOS_AnyCPU_Checked
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
- buildConfig: Checked
- platforms:
- - windows_x64
- helixQueueGroup: pr
- helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: Release
- dependsOn:
- - coreclr_common_test_build_p0_AnyOS_AnyCPU_Checked
- - build_windows_x64_Checked_
- - build_windows_x64_Release_
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: Checked
+ platforms:
+ - windows_x64
+ helixQueueGroup: pr
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: innerloop
+ liveLibrariesBuildConfig: Release
+ dependsOn:
+ - coreclr_common_test_build_p0_AnyOS_AnyCPU_Checked
+ - build_windows_x64_Checked_
+ - build_windows_x64_Release_
- #
- # Libraries Release Test Execution against a release coreclr runtime
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platforms:
- - Linux_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isRollingBuild: false
- isOfficialBuild: false
- testScope: innerloop
- liveRuntimeBuildConfig: Release
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- dependsOn:
- - build_Linux_x64_Release_
+ #
+ # Libraries Release Test Execution against a release coreclr runtime
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platforms:
+ - Linux_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isRollingBuild: false
+ isOfficialBuild: false
+ testScope: innerloop
+ liveRuntimeBuildConfig: Release
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ dependsOn:
+ - build_Linux_x64_Release_
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/run-test-job.yml
- buildConfig: Release
- platforms:
- - windows_x64
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- jobParameters:
- isRollingBuild: false
- isOfficialBuild: false
- testScope: innerloop
- liveRuntimeBuildConfig: Release
- dependsOnTestBuildConfiguration: Release
- dependsOnTestArchitecture: x64
- dependsOn:
- - build_windows_x64_Release_
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/libraries/run-test-job.yml
+ buildConfig: Release
+ platforms:
+ - windows_x64
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ jobParameters:
+ isRollingBuild: false
+ isOfficialBuild: false
+ testScope: innerloop
+ liveRuntimeBuildConfig: Release
+ dependsOnTestBuildConfiguration: Release
+ dependsOnTestArchitecture: x64
+ dependsOn:
+ - build_windows_x64_Release_
-- ${{ if eq(variables.isOfficialBuild, true) }}:
- - template: /eng/pipelines/official/stages/publish.yml
- parameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
+ - ${{ if eq(variables.isOfficialBuild, true) }}:
+ - template: /eng/pipelines/official/stages/publish.yml
+ parameters:
+ isOfficialBuild: ${{ variables.isOfficialBuild }}