summaryrefslogtreecommitdiff
path: root/perf.groovy
diff options
context:
space:
mode:
authorSmile Wei <xiwe@microsoft.com>2016-08-30 12:31:25 -0700
committerSmile Wei <xiwe@microsoft.com>2016-09-07 11:42:27 -0700
commitbd59a687114248831f6343c40d2b4b80c08b01b5 (patch)
tree00c8379dff7f9766ea3a135c9135ee6231c188f2 /perf.groovy
parentdf5fbfe2d68a73bc797a3d94120b809a1eaac9cd (diff)
downloadcoreclr-bd59a687114248831f6343c40d2b4b80c08b01b5.tar.gz
coreclr-bd59a687114248831f6343c40d2b4b80c08b01b5.tar.bz2
coreclr-bd59a687114248831f6343c40d2b4b80c08b01b5.zip
Create coreclr perf jobs for Linux.
Diffstat (limited to 'perf.groovy')
-rw-r--r--perf.groovy54
1 files changed, 6 insertions, 48 deletions
diff --git a/perf.groovy b/perf.groovy
index e7100f8de9..71a93f4dd5 100644
--- a/perf.groovy
+++ b/perf.groovy
@@ -4,7 +4,8 @@ import jobs.generation.*;
def project = GithubProject
def branch = GithubBranchName
-def projectFolder = Utilities.getFolderName(project) + '/' + Utilities.getFolderName(branch)
+def projectName = Utilities.getFolderName(project)
+def projectFolder = projectName + '/' + Utilities.getFolderName(branch)
def static getOSGroup(def os) {
def osGroupMap = ['Ubuntu':'Linux',
@@ -67,51 +68,11 @@ def static getOSGroup(def os) {
['Ubuntu'].each { os ->
def osGroup = getOSGroup(os)
def architecture = 'x64'
- def configuration = 'Checked'
+ def configuration = 'Release'
def newJob = job(Utilities.getFullJobName(project, "perf_${osGroup}", isPR)) {
- parameters {
- stringParam('CORECLR_WINDOWS_BUILD', '', 'Build number to copy CoreCLR windows test binaries from')
- stringParam('CORECLR_BUILD', '', "Build number to copy CoreCLR ${osGroup} binaries from")
- }
-
steps {
- // Set up the copies
- // Coreclr build containing the tests and mscorlib
- copyArtifacts("dotnet_coreclr/master/x64_checked_windows_nt_pri1_bld") {
- excludePatterns('**/testResults.xml', '**/*.ni.dll')
- buildSelector {
- buildNumber('${CORECLR_WINDOWS_BUILD}')
- }
- }
-
- // Coreclr build we are trying to test
- copyArtifacts("dotnet_coreclr/master/checked_ubuntu") {
- excludePatterns('**/testResults.xml', '**/*.ni.dll')
- buildSelector {
- buildNumber('${CORECLR_BUILD}')
- }
- }
-
- def corefxFolder = Utilities.getFolderName('dotnet/corefx') + '/' + 'master'
-
- // Corefx components. We now have full stack builds on all distros we test here, so we can copy straight from CoreFX jobs.
- def osJobName = (os == 'Ubuntu') ? 'ubuntu14.04' : os.toLowerCase()
- copyArtifacts("${corefxFolder}/${osJobName}_release") {
- includePatterns('bin/build.tar.gz')
- buildSelector {
- latestSuccessful(true)
- }
- }
-
- // Unpack the corefx binaries
- shell("tar -xf ./bin/build.tar.gz")
-
- // Unzip the tests first. Exit with 0
- shell("unzip -q -o ./bin/tests/tests.zip -d ./bin/tests/Windows_NT.${architecture}.${configuration} || exit 0")
-
- // Execute the tests
- shell('./init-tools.sh')
-
+ shell("sudo bash ./tests/scripts/perf-prep.sh --branch=${projectName}")
+ shell("./init-tools.sh")
shell("""sudo bash ./tests/scripts/run-xunit-perf.sh \\
--testRootDir=\"\${WORKSPACE}/bin/tests/Windows_NT.${architecture}.${configuration}\" \\
--testNativeBinDir=\"\${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration}/tests\" \\
@@ -122,10 +83,7 @@ def static getOSGroup(def os) {
}
}
- // Save machinedata.json to /artifact/bin/ Jenkins dir
- def archiveSettings = new ArchivalSettings()
- archiveSettings.addFiles('perf-*.xml')
- Utilities.addArchival(newJob, archiveSettings)
+ Utilities.setMachineAffinity(newJob, os, 'latest-or-auto') // Just run against Linux VM’s for now.
Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}")
if (isPR) {