diff options
author | jashook <jashoo@microsoft.com> | 2017-07-13 15:41:31 -0700 |
---|---|---|
committer | jashook <jashoo@microsoft.com> | 2017-07-19 09:00:13 -0700 |
commit | 3a2bbf3c8f7da914893c2d1d68975a2988767f59 (patch) | |
tree | 1b081d321241e1a5cce107faad7e427e540326d1 /netci.groovy | |
parent | 96997df404bbf1b30969aeed6303bc1fead43ed7 (diff) | |
download | coreclr-3a2bbf3c8f7da914893c2d1d68975a2988767f59.tar.gz coreclr-3a2bbf3c8f7da914893c2d1d68975a2988767f59.tar.bz2 coreclr-3a2bbf3c8f7da914893c2d1d68975a2988767f59.zip |
Add arm32 ci testing.
Note this will add a new lst file and leverage the old existing arm64
infrastructure.
Diffstat (limited to 'netci.groovy')
-rwxr-xr-x | netci.groovy | 110 |
1 files changed, 68 insertions, 42 deletions
diff --git a/netci.groovy b/netci.groovy index 979d023bdb..93362dea2a 100755 --- a/netci.groovy +++ b/netci.groovy @@ -667,6 +667,33 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, addNonPRTriggers(job, branch, isPR, architecture, os, configuration, scenario, isFlowJob, isWindowsBuildOnlyJob, bidailyCrossList) return } + + def arm64Users = [ + 'adiaaida', + 'AndyAyersMS', + 'briansull', + 'BruceForstall', + 'CarolEidt', + 'cmckinsey', + 'erozenfeld', + 'jashook', + 'JosephTremoulet', + 'pgavlin', + 'russellhadley', + 'RussKeldorph', + 'sandreenko', + 'sdmaclea', + 'sivarv', + 'swaroop-sridhar', + 'gkhanna79', + 'jkotas', + 'markwilkie', + 'rahku', + 'ramarag', + 'tzwlai', + 'weshaggard' + ] + // Pull request builds. Generally these fall into two categories: default triggers and on-demand triggers // We generally only have a distinct set of default triggers but a bunch of on-demand ones. def osGroup = getOSGroup(os) @@ -1056,10 +1083,10 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, break // editor brace matching: } case 'arm': // editor brace matching: { - assert scenario == 'default' switch (os) { case 'Ubuntu': case 'Ubuntu16.04': + assert scenario == 'default' if ((os == 'Ubuntu' && configuration == 'Release') || (os == 'Ubuntu16.04' && configuration == 'Debug')) { Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Build") } @@ -1078,9 +1105,36 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } break; case 'Windows_NT': - if (configuration == 'Debug' || configuration == 'Release') - { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Build") + // Set up a private trigger + def contextString = "${os} ${architecture} Cross ${configuration}" + if (scenario != 'default') + contextString += " ${scenario}" + contextString += " Build" + // Debug builds only. + if (configuration != 'Debug') { + contextString += " and Test" + } + switch (scenario) { + case 'default': + // For now only run Debug and Release build jobs on PR Trigger. Note this is not a private trigger. + if (configuration == 'Debug' || configuration == 'Release') + { + Utilities.addPrivateGithubPRTriggerForBranch(job, branch, contextString, + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}.*", null, arm64Users) + } + else + { + // Checked jobs will run on private trigger and run tests. + Utilities.addDefaultPrivateGithubPRTriggerForBranch(job, branch, contextString, null, arm64Users) + } + break + case 'pri1r2r': + case 'gcstress0x3': + case 'gcstress0xc': + // Stress jobs will will run on private trigger and run tests. + Utilities.addPrivateGithubPRTriggerForBranch(job, branch, contextString, + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*", null, arm64Users) + break } break default: @@ -1103,32 +1157,6 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, contextString += " and Test" } - def arm64Users = [ - 'adiaaida', - 'AndyAyersMS', - 'briansull', - 'BruceForstall', - 'CarolEidt', - 'cmckinsey', - 'erozenfeld', - 'jashook', - 'JosephTremoulet', - 'pgavlin', - 'russellhadley', - 'RussKeldorph', - 'sandreenko', - 'sdmaclea', - 'sivarv', - 'swaroop-sridhar', - 'gkhanna79', - 'jkotas', - 'markwilkie', - 'rahku', - 'ramarag', - 'tzwlai', - 'weshaggard' - ] - switch (os) { case 'Ubuntu': case 'Ubuntu16.04': @@ -1590,7 +1618,7 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR } break case 'arm': - assert (scenario == 'default') + assert (scenario == 'default') || (scenario == 'pri1r2r') || (scenario == 'gcstress0x3') || (scenario == 'gcstress0xc') // Set time out setTestJobTimeOut(newJob, scenario) @@ -1599,7 +1627,12 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR // For Debug builds, we will do a P1 test build buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture} -priority=1" } - else { + else if (lowerConfiguration == "checked") { + // For checked runs we will also run testing. + buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture} -priority=1" + buildCommands += "python tests\\scripts\\arm64_post_build.py -repo_root %WORKSPACE% -arch ${architecture} -build_type ${lowerConfiguration} -scenario ${scenario} -key_location C:\\tools\\key.txt" + } + else if (lowerConfiguration == "release") { buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture}" } // Add archival. @@ -1820,14 +1853,6 @@ combinedScenarios.each { scenario -> os = 'Windows_NT' } - // WinArm32 is only built for Debug and Release - if (os == 'Windows_NT' && architecture == 'arm') - { - if (configuration == 'Checked') - { - return - } - } // Tizen is only supported for arm architecture if (os == 'Tizen' && architecture != 'arm') { return @@ -1887,6 +1912,7 @@ combinedScenarios.each { scenario -> } switch (architecture) { + case 'arm': case 'arm64': if ((scenario != 'gcstress0x3') && (scenario != 'gcstress0xc')) { return @@ -1929,7 +1955,7 @@ combinedScenarios.each { scenario -> } break case 'ilrt': - // The ilrt build isn't necessary except for Windows_NT. Non-Windows NT uses + // The ilrt build isn't necessary except for Windows_NT2003. Non-Windows NT uses // the default scenario build if (os != 'Windows_NT') { return @@ -1971,7 +1997,7 @@ combinedScenarios.each { scenario -> return } if (architecture != 'x64') { - if (architecture != 'arm64' || configuration == 'Debug') { + if ((architecture != 'arm64' && architecture != 'arm') || (configuration == 'Debug')) { return } } |