Skip to content

Commit

Permalink
Add pgo testing to outerloop (#53301)
Browse files Browse the repository at this point in the history
Also update jit-experimental to no longer run PGO or EH WriteThru.
  • Loading branch information
AndyAyersMS committed May 27, 2021
1 parent 3270344 commit de6b2d9
Show file tree
Hide file tree
Showing 5 changed files with 129 additions and 6 deletions.
9 changes: 6 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -481,10 +487,7 @@ jobs:
scenarios:
- jitosr
- jitosr_stress
- jitehwritethru
- jitobjectstackallocation
- jitpgo
- jitpgo_inline
${{ if in(parameters.testGroup, 'ilasm') }}:
scenarios:
- ilasmroundtrip
Expand Down
55 changes: 55 additions & 0 deletions eng/pipelines/coreclr/libraries-pgo.yml
Original file line number Diff line number Diff line change
@@ -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
57 changes: 57 additions & 0 deletions eng/pipelines/coreclr/pgo.yml
Original file line number Diff line number Diff line change
@@ -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
7 changes: 7 additions & 0 deletions eng/pipelines/libraries/run-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,10 @@ jobs:
- gcstress0xc_jitstress1
- gcstress0xc_jitstress2
- gcstress0xc_jitminopts_heapverify1
${{ if in(parameters.coreclrTestGroup, 'pgo') }}:
scenarios:
- nopgo
- defaultpgo
- dynamicpgo
- fullpgo

7 changes: 4 additions & 3 deletions src/tests/Common/testenvironment.proj
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,13 @@
<TestEnvironment Include="gcstress0xc_jitminopts_heapverify1" GCStress="0xC" JITMinOpts="1" HeapVerify="1" />
<TestEnvironment Include="jitosr" TC_OnStackReplacement="1" TC_QuickJitForLoops="1" TieredCompilation="1" />
<TestEnvironment Include="jitosr_stress" TC_OnStackReplacement="1" TC_QuickJitForLoops="1" TC_OnStackReplacement_InitialCounter="1" OSR_HitLimit="1" TieredCompilation="1" />
<TestEnvironment Include="jitpgo" TieredPGO="1" TieredCompilation="1" TC_QuickJitForLoops="1" />
<TestEnvironment Include="jitpgo_inline" TieredPGO="1" TieredCompilation="1" JitInlinePolicyProfile="1" TC_QuickJitForLoops="1" />
<TestEnvironment Include="jitehwritethru" EnableEhWriteThru="1" TieredCompilation="0" />
<TestEnvironment Include="jitobjectstackallocation" JitObjectStackAllocation="1" TieredCompilation="0" />
<TestEnvironment Include="ilasmroundtrip" RunningIlasmRoundTrip="1" />
<TestEnvironment Include="clrinterpreter" TieredCompilation="1" />
<TestEnvironment Include="nopgo" JitDisablePGO="1" TieredCompilation="1" />
<TestEnvironment Include="defaultpgo" TieredPGO="1" TieredCompilation="1" />
<TestEnvironment Include="dynamicpgo" TieredPGO="1" TieredCompilation="1" TC_QuickJitForLoops="1" />
<TestEnvironment Include="fullpgo" TieredPGO="1" TieredCompilation="1" TC_QuickJitForLoops="1" ReadyToRun="0"/>
</ItemGroup>

<!-- We use target batching on the COMPlusVariable items to iterate over the all COMPlus_* environment variables
Expand Down

0 comments on commit de6b2d9

Please sign in to comment.