summaryrefslogtreecommitdiff
path: root/perf.groovy
diff options
context:
space:
mode:
authorSmile Wei <xiwe@microsoft.com>2016-08-03 15:20:15 -0700
committerSmile Wei <xiwe@microsoft.com>2016-08-19 15:02:08 -0700
commite2f9a0f485f9f8dc35eda6bf8ffea7c3310c9c0c (patch)
treed1b68454ab638460f429e7ffb0dbe38fa7c42034 /perf.groovy
parentb4c4b91b27cf49dcf5829af84455df5fca24f3e9 (diff)
downloadcoreclr-e2f9a0f485f9f8dc35eda6bf8ffea7c3310c9c0c.tar.gz
coreclr-e2f9a0f485f9f8dc35eda6bf8ffea7c3310c9c0c.tar.bz2
coreclr-e2f9a0f485f9f8dc35eda6bf8ffea7c3310c9c0c.zip
Automate the perf data collection for JIT CodeQuality benchmarks on Windows.
Fix a quote.
Diffstat (limited to 'perf.groovy')
-rw-r--r--perf.groovy40
1 files changed, 40 insertions, 0 deletions
diff --git a/perf.groovy b/perf.groovy
new file mode 100644
index 0000000000..79825f7d39
--- /dev/null
+++ b/perf.groovy
@@ -0,0 +1,40 @@
+// Import the utility functionality.
+
+import jobs.generation.*;
+
+def project = GithubProject
+def branch = GithubBranchName
+def projectFolder = Utilities.getFolderName(project) + '/' + Utilities.getFolderName(branch)
+
+[true, false].each { isPR ->
+ ['Windows_NT'].each { os ->
+ def newJob = job(Utilities.getFullJobName(project, "perf_${os}", isPR)) {
+ // Set the label.
+ label('performance')
+ steps {
+ // Batch
+ batchFile("python tests\\scripts\\machinedata.py")
+ batchFile("set __TestIntermediateDir=int&&build.cmd release x64")
+ batchFile("tests\\runtest.cmd release x64")
+ batchFile("tests\\scripts\\run-xunit-perf.cmd")
+ }
+ }
+
+ //Utilities.setMachineAffinity(newJob, os, 'latest-or-auto-elevated') // Disable to forcely use physical machine.
+
+ // 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}")
+ if (isPR) {
+ Utilities.addGithubPRTriggerForBranch(newJob, branch, "${os} Perf Tests") // Add a PR trigger.
+ }
+ else {
+ // Set a push trigger
+ Utilities.addGithubPushTrigger(newJob)
+ }
+ }
+}