summaryrefslogtreecommitdiff
path: root/perf.groovy
diff options
context:
space:
mode:
authorDrew Scoggins <anscoggi@microsoft.com>2016-10-26 13:32:30 -0700
committerDrew Scoggins <anscoggi@microsoft.com>2016-10-26 16:14:59 -0700
commitb53f75a454dea81824d13bc3df375fdc66054b99 (patch)
tree4ce5a44c3c99c4256f5ab3f445399f4530836253 /perf.groovy
parente265939060ae690a3e971d80d60cdb5b45f734bb (diff)
downloadcoreclr-b53f75a454dea81824d13bc3df375fdc66054b99.tar.gz
coreclr-b53f75a454dea81824d13bc3df375fdc66054b99.tar.bz2
coreclr-b53f75a454dea81824d13bc3df375fdc66054b99.zip
Move JIT perf tests to new infrastructure
Moved over the running of the JIT perf tests to use the same logic as the perflab tests. Had to make a few changes to what we save and where since we reuse the sandbox folder.
Diffstat (limited to 'perf.groovy')
-rw-r--r--perf.groovy56
1 files changed, 3 insertions, 53 deletions
diff --git a/perf.groovy b/perf.groovy
index 434e0c1896..8d3a6c58ed 100644
--- a/perf.groovy
+++ b/perf.groovy
@@ -53,12 +53,14 @@ def static getOSGroup(def os) {
batchFile("set __TestIntermediateDir=int&&build.cmd release ${architecture}")
batchFile("tests\\runtest.cmd release ${architecture} GenerateLayoutOnly")
batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${architecture} -configuration ${configuration} -testBinLoc bin\\tests\\Windows_NT.${architecture}.Release\\performance\\perflab\\Perflab -library -uploadToBenchview C:\\Tools\\Microsoft.Benchview.JSONFormat\\tools -runtype " + runType)
+ batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${architecture} -configuration ${configuration} -testBinLoc bin\\tests\\Windows_NT.${architecture}.Release\\Jit\\Performance\\CodeQuality -uploadToBenchview C:\\Tools\\Microsoft.Benchview.JSONFormat\\tools -runtype " + runType)
}
}
// Save machinedata.json to /artifact/bin/ Jenkins dir
def archiveSettings = new ArchivalSettings()
- archiveSettings.addFiles('sandbox\\perf-*.xml')
+ archiveSettings.addFiles('perf-*.xml')
+ archiveSettings.addFiles('perf-*.etl')
Utilities.addArchival(newJob, archiveSettings)
Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}")
@@ -80,58 +82,6 @@ def static getOSGroup(def os) {
}
}
-[true, false].each { isPR ->
- ['Windows_NT'].each { os ->
- def architecture = 'x64'
- def configuration = 'Release'
- def newJob = job(Utilities.getFullJobName(project, "perf_${os}", isPR)) {
-
- // Set the label.
- label('performance')
- steps {
- // Batch
- batchFile("C:\\Tools\\nuget.exe install Microsoft.BenchView.JSONFormat -Source http://benchviewtestfeed.azurewebsites.net/nuget -OutputDirectory C:\\tools -Prerelease -ExcludeVersion")
- batchFile("py C:\\tools\\Microsoft.BenchView.JSONFormat\\tools\\machinedata.py")
- batchFile("set __TestIntermediateDir=int&&build.cmd release ${architecture}")
- batchFile("tests\\runtest.cmd release ${architecture}")
- batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${architecture} -configuration ${configuration} -testBinLoc bin\\tests\\Windows_NT.x64.Release\\Jit\\Performance\\CodeQuality")
- }
- }
-
- // Save machinedata.json to /artifact/bin/ Jenkins dir
- def archiveSettings = new ArchivalSettings()
- archiveSettings.addFiles('sandbox\\perf-*.xml')
- archiveSettings.addFiles('machinedata.json')
- Utilities.addArchival(newJob, archiveSettings)
-
- Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}")
-
- // For perf, we need to keep the run results longer
- newJob.with {
- // Enable the log rotator
- logRotator {
- artifactDaysToKeep(7)
- daysToKeep(300)
- artifactNumToKeep(25)
- numToKeep(1000)
- }
- }
- if (isPR) {
- TriggerBuilder builder = TriggerBuilder.triggerOnPullRequest()
- builder.setGithubContext("${os} Perf Tests")
- builder.triggerOnlyOnComment()
- builder.setCustomTriggerPhrase("(?i).*test\\W+${os}\\W+perf.*")
- builder.triggerForBranch(branch)
- builder.emitTrigger(newJob)
- }
- else {
- // Set a push trigger
- TriggerBuilder builder = TriggerBuilder.triggerOnCommit()
- builder.emitTrigger(newJob)
- }
- }
-}
-
// Create the Linux/OSX/CentOS coreclr test leg for debug and release and each scenario
[true, false].each { isPR ->
['Ubuntu'].each { os ->