From de6b2d9c15a8617be2c324c128675ab68afaf2dd Mon Sep 17 00:00:00 2001 From: Andy Ayers Date: Wed, 26 May 2021 20:01:30 -0700 Subject: [PATCH] Add pgo testing to outerloop (#53301) Also update jit-experimental to no longer run PGO or EH WriteThru. --- .../common/templates/runtimes/run-test-job.yml | 9 ++-- eng/pipelines/coreclr/libraries-pgo.yml | 55 +++++++++++++++++++++ eng/pipelines/coreclr/pgo.yml | 57 ++++++++++++++++++++++ eng/pipelines/libraries/run-test-job.yml | 7 +++ src/tests/Common/testenvironment.proj | 7 +-- 5 files changed, 129 insertions(+), 6 deletions(-) create mode 100644 eng/pipelines/coreclr/libraries-pgo.yml create mode 100644 eng/pipelines/coreclr/pgo.yml diff --git a/eng/pipelines/common/templates/runtimes/run-test-job.yml b/eng/pipelines/common/templates/runtimes/run-test-job.yml index 53dba08..e8ca30b 100644 --- a/eng/pipelines/common/templates/runtimes/run-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/run-test-job.yml @@ -465,6 +465,12 @@ jobs: - jitminopts - forcerelocs - gcstress0xf + ${{ if in(parameters.testGroup, 'pgo') }}: + scenarios: + - nopgo + - defaultpgo + - dynamicpgo + - fullpgo ${{ if in(parameters.testGroup, 'gc-longrunning') }}: longRunningGcTests: true scenarios: @@ -481,10 +487,7 @@ jobs: scenarios: - jitosr - jitosr_stress - - jitehwritethru - jitobjectstackallocation - - jitpgo - - jitpgo_inline ${{ if in(parameters.testGroup, 'ilasm') }}: scenarios: - ilasmroundtrip diff --git a/eng/pipelines/coreclr/libraries-pgo.yml b/eng/pipelines/coreclr/libraries-pgo.yml new file mode 100644 index 0000000..0914451 --- /dev/null +++ b/eng/pipelines/coreclr/libraries-pgo.yml @@ -0,0 +1,55 @@ +trigger: none + +schedules: +- cron: "0 16 * * 0,6" + displayName: Sat and Sun at 8:00 AM (UTC-8:00) + branches: + include: + - main + always: true + +jobs: + +# +# 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: 150 + testScope: innerloop + liveRuntimeBuildConfig: checked + dependsOnTestBuildConfiguration: Release + dependsOnTestArchitecture: x64 + coreclrTestGroup: pgo diff --git a/eng/pipelines/coreclr/pgo.yml b/eng/pipelines/coreclr/pgo.yml new file mode 100644 index 0000000..132464b --- /dev/null +++ b/eng/pipelines/coreclr/pgo.yml @@ -0,0 +1,57 @@ +trigger: none + +schedules: +- cron: "0 8 * * *" + displayName: Mon through Sun at 12:00 AM (UTC-8:00) + branches: + include: + - main + always: true + +jobs: + +- 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/build-test-job.yml + buildConfig: checked + platforms: + - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64 + jobParameters: + testGroup: pgo + liveLibrariesBuildConfig: Release + +- 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 diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml index 9e073dd..3e9d2de 100644 --- a/eng/pipelines/libraries/run-test-job.yml +++ b/eng/pipelines/libraries/run-test-job.yml @@ -193,3 +193,10 @@ jobs: - gcstress0xc_jitstress1 - gcstress0xc_jitstress2 - gcstress0xc_jitminopts_heapverify1 + ${{ if in(parameters.coreclrTestGroup, 'pgo') }}: + scenarios: + - nopgo + - defaultpgo + - dynamicpgo + - fullpgo + diff --git a/src/tests/Common/testenvironment.proj b/src/tests/Common/testenvironment.proj index 762ba14..b1a359d 100644 --- a/src/tests/Common/testenvironment.proj +++ b/src/tests/Common/testenvironment.proj @@ -148,12 +148,13 @@ - - - + + + +