diff options
Diffstat (limited to 'netci.groovy')
-rwxr-xr-x | netci.groovy | 332 |
1 files changed, 309 insertions, 23 deletions
diff --git a/netci.groovy b/netci.groovy index 7a64274383..3bba51d6fb 100755 --- a/netci.groovy +++ b/netci.groovy @@ -15,6 +15,7 @@ def static getOSGroup(def os) { def osGroupMap = ['Ubuntu':'Linux', 'RHEL7.2': 'Linux', 'Ubuntu16.04': 'Linux', + 'Ubuntu16.10': 'Linux', 'Debian8.4':'Linux', 'Fedora23':'Linux', 'OSX':'OSX', @@ -22,6 +23,7 @@ def static getOSGroup(def os) { 'FreeBSD':'FreeBSD', 'CentOS7.1': 'Linux', 'OpenSUSE13.2': 'Linux', + 'OpenSUSE42.1': 'Linux', 'LinuxARMEmulator': 'Linux'] def osGroup = osGroupMap.get(os, null) assert osGroup != null : "Could not find os group for ${os}" @@ -34,7 +36,7 @@ class Constants { // The Windows_NT_BuildOnly OS is a way to speed up the Non-NT builds temporarily by avoiding // test execution in the build flow runs. It generates the exact same build // as Windows_NT but without the tests. - def static osList = ['Ubuntu', 'Debian8.4', 'OSX', 'Windows_NT', 'Windows_NT_BuildOnly', 'FreeBSD', 'CentOS7.1', 'OpenSUSE13.2', 'RHEL7.2', 'LinuxARMEmulator', 'Ubuntu16.04', 'Fedora23'] + def static osList = ['Ubuntu', 'Debian8.4', 'OSX', 'Windows_NT', 'Windows_NT_BuildOnly', 'FreeBSD', 'CentOS7.1', 'OpenSUSE13.2', 'OpenSUSE42.1', 'RHEL7.2', 'LinuxARMEmulator', 'Ubuntu16.04', 'Ubuntu16.10', 'Fedora23'] def static crossList = ['Ubuntu', 'OSX', 'CentOS7.1', 'RHEL7.2', 'Debian8.4', 'OpenSUSE13.2'] // This is a set of JIT stress modes combined with the set of variables that // need to be set to actually enable that stress mode. The key of the map is the stress mode and @@ -75,7 +77,7 @@ class Constants { 'r2r_jitstressregs4', 'r2r_jitstressregs8', 'r2r_jitstressregsx10', 'r2r_jitstressregsx80', 'r2r_jitminopts', 'r2r_jitforcerelocs'] // This is the basic set of scenarios - def static basicScenarios = ['default', 'pri1', 'ilrt', 'r2r', 'pri1r2r', 'gcstress15_pri1r2r', 'longgc', 'coverage', 'gcsimulator'] + r2rJitStressScenarios + def static basicScenarios = ['default', 'pri1', 'ilrt', 'r2r', 'pri1r2r', 'gcstress15_pri1r2r', 'longgc', 'coverage', 'formatting', 'gcsimulator'] + r2rJitStressScenarios def static configurationList = ['Debug', 'Checked', 'Release'] // This is the set of architectures def static architectureList = ['arm', 'arm64', 'x64', 'x86ryujit', 'x86lb'] @@ -248,6 +250,10 @@ def static getJobName(def configuration, def architecture, def os, def scenario, // For now we leave x64 off of the name for compatibility with other jobs baseName = configuration.toLowerCase() + '_' + os.toLowerCase() } + else if (scenario == 'formatting') { + // we don't care about the configuration for the formatting job. It runs all configs + baseName = architecture.toLowerCase() + '_' + os.toLowerCase() + } else { baseName = architecture.toLowerCase() + '_' + configuration.toLowerCase() + '_' + os.toLowerCase() } @@ -453,6 +459,11 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, assert architecture == 'x64' Utilities.addPeriodicTrigger(job, '@weekly') break + case 'formatting': + assert (os == 'Windows_NT' || os == "Ubuntu") + assert architecture == 'x64' + Utilities.addGithubPushTrigger(job) + break case 'jitstressregs1': case 'jitstressregs2': case 'jitstressregs3': @@ -542,6 +553,15 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } break } + + if (scenario == 'formatting') { + assert configuration == 'Checked' + if (os == 'Windows_NT' || os == 'Ubuntu') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Formatting") + } + break + } + switch (os) { // OpenSUSE, Debian & RedHat get trigger phrases for pri 0 build, and pri 1 build & test case 'OpenSUSE13.2': @@ -558,6 +578,8 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, break case 'Fedora23': case 'Ubuntu16.04': + case 'Ubuntu16.10': + case 'OpenSUSE42.1': assert !isFlowJob assert scenario == 'default' Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build", "(?i).*test\\W+${os}\\W+.*") @@ -1067,6 +1089,12 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "Linux ARM Emulator Cross ${configuration} Build") } break + case 'Windows_NT': + if (configuration == 'Debug' || configuration == 'Release') + { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Build") + } + break default: println("NYI os: ${os}"); assert false @@ -1092,13 +1120,13 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, switch (scenario) { case 'default': Utilities.addPrivateGithubPRTriggerForBranch(job, branch, contextString, - "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}", null, arm64Users) + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}.*", null, arm64Users) break case 'pri1r2r': case 'gcstress0x3': case 'gcstress0xc': Utilities.addPrivateGithubPRTriggerForBranch(job, branch, contextString, - "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}", null, arm64Users) + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*", null, arm64Users) break } break @@ -1109,6 +1137,195 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } break case 'x86ryujit': + def arch = 'x86' + def jit = 'ryujit' + switch (scenario) { + case 'default': + // Default trigger + if (os == 'Windows_NT') { + if (configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test") + } + } + else { + // default trigger + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build", "(?i).*test\\W+${arch}\\W+${osGroup}.\\W+${jit}.*") + } + break + case 'pri1': + // Default trigger + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Priority 1 Build and Test") + } + break + case 'ilrt': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} IL RoundTrip Build and Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r': + if (configuration == 'Checked' || configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri0 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'pri1r2r': + if (configuration == 'Checked' || configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'gcstress15_pri1r2r': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GCStress 15 R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstress1': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress1 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstress2': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress2 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs1': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs1 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs2': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs2 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs3': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs3 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs4': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs4 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs8': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs8 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregsx10': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx10 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregsx80': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx80 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitminopts': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} JITMinOpts R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitforcerelocs': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} ForceRelocs R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'longgc': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'gcsimulator': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GC Simulator", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'minopts': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - MinOpts)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'forcerelocs': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - ForceRelocs)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstress1': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStress=1)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstress2': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStress=2)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs1': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=1)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs2': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=2)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs3': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=3)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs4': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=4)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs8': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=8)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs0x10': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=0x10)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs0x80': + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=0x80)", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstress2_jitstressregs1': + case 'jitstress2_jitstressregs2': + case 'jitstress2_jitstressregs3': + case 'jitstress2_jitstressregs4': + case 'jitstress2_jitstressregs8': + case 'jitstress2_jitstressregs0x10': + case 'jitstress2_jitstressregs0x80': + case 'gcstress0x3': + case 'gcstress0xc': + case 'zapdisable': + case 'heapverify1': + case 'gcstress0xc_zapdisable': + case 'gcstress0xc_zapdisable_jitstress2': + case 'gcstress0xc_zapdisable_heapverify1': + case 'gcstress0xc_jitstress1': + case 'gcstress0xc_jitstress2': + case 'gcstress0xc_minopts_heapverify1': + def displayStr = getStressModeDisplayName(scenario) + assert (os == 'Windows_NT') + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - ${displayStr})", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + default: + println("Unknown scenario: ${arch} ${jit} ${scenario}"); + assert false + break + } + break case 'x86lb': assert (scenario == 'default' || scenario == 'r2r' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r' || scenario == 'longgc' || scenario == 'gcsimulator' || Constants.r2rJitStressScenarios.indexOf(scenario) != -1) @@ -1127,7 +1344,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } else { // default trigger - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build", "(?i).*test\\W+${arch}\\W+${osGroup}.\\W+${jit}*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build", "(?i).*test\\W+${arch}\\W+${osGroup}.\\W+${jit}.*") } } else if (scenario == 'r2r') { @@ -1266,6 +1483,14 @@ combinedScenarios.each { scenario -> os = 'Windows_NT' } + // WinArm32 is only built for Debug and Release + if (os == 'Windows_NT' && architecture == 'arm') + { + if (configuration == 'Checked') + { + return + } + } // If the OS is LinuxARMEmulator and arch is arm, set the isLinuxEmulatorBuild // flag to true and reset the os to Ubuntu // The isLinuxEmulatorBuild flag will be used at a later time to execute the right @@ -1293,8 +1518,7 @@ combinedScenarios.each { scenario -> } break case 'arm': - // Only Ubuntu cross implemented - if (os != 'Ubuntu') { + if ((os != 'Ubuntu') && (os != 'Windows_NT')) { return } break @@ -1339,6 +1563,11 @@ combinedScenarios.each { scenario -> case 'x64': // Everything implemented break + case 'x86ryujit': + if (enableCorefxTesting) { + return + } + break default: return } @@ -1445,6 +1674,21 @@ combinedScenarios.each { scenario -> return } break + // We only run Windows and Ubuntu x64 Checked for formatting right now + case 'formatting': + if (os != 'Windows_NT' && os != 'Ubuntu') { + return + } + if (architecture != 'x64') { + return + } + if (configuration != 'Checked') { + return + } + if (isBuildOnly) { + return + } + break case 'default': // Nothing skipped break @@ -1480,7 +1724,12 @@ combinedScenarios.each { scenario -> case 'x86ryujit': case 'x86lb': def arch = architecture - if (architecture == 'x86ryujit' || architecture == 'x86lb') { + def buildOpts = '' + if (architecture == 'x86ryujit') { + arch = 'x86' + buildOpts = 'altjitcrossgen' + } + else if (architecture == 'x86lb') { arch = 'x86' } @@ -1488,27 +1737,31 @@ combinedScenarios.each { scenario -> scenario == 'default' || scenario == 'r2r' || Constants.r2rJitStressScenarios.indexOf(scenario) != -1) { - buildOpts = enableCorefxTesting ? 'skiptests' : '' + buildOpts += enableCorefxTesting ? ' skiptests' : '' buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} ${buildOpts}" } // For Pri 1 tests, we must shorten the output test binary path names. - // if __TestIntermediateDir is already set, buildtest.cmd will + // if __TestIntermediateDir is already set, build-test.cmd will // output test binaries to that directory. If it is not set, the // binaries are sent to a default directory whose name is about // 35 characters long. else if (scenario == 'pri1' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r'|| scenario == 'coverage') { - buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} Priority 1" + buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} ${buildOpts} -priority=1" } else if (scenario == 'ilrt') { // First do the build with skiptests and then build the tests with ilasm roundtrip - buildCommands += "build.cmd ${lowerConfiguration} ${arch} skiptests" - buildCommands += "set __TestIntermediateDir=int&&tests\\buildtest.cmd ${lowerConfiguration} ${arch} ilasmroundtrip" + buildCommands += "build.cmd ${lowerConfiguration} ${arch} ${buildOpts} skiptests" + buildCommands += "set __TestIntermediateDir=int&&build-test.cmd ${lowerConfiguration} ${arch} -ilasmroundtrip" } else if (isLongGc(scenario)) { - buildCommands += "build.cmd ${lowerConfiguration} ${arch} skiptests" - buildCommands += "set __TestIntermediateDir=int&&tests\\buildtest.cmd ${lowerConfiguration} ${arch}" + buildCommands += "build.cmd ${lowerConfiguration} ${arch} ${buildOpts} skiptests" + buildCommands += "set __TestIntermediateDir=int&&build-test.cmd ${lowerConfiguration} ${arch}" + } + else if (scenario == 'formatting') { + buildCommands += "python -u tests\\scripts\\format.py -c %WORKSPACE% -o Windows_NT -a ${arch}" + break } else { println("Unknown scenario: ${scenario}") @@ -1597,12 +1850,18 @@ combinedScenarios.each { scenario -> } else { def stepScriptLocation = "%WORKSPACE%\\bin\\tests\\SetStressModes.bat" - buildCommands += genStressModeScriptStep(os, scenario, Constants.jitStressModeScenarios[scenario], stepScriptLocation) - // Run tests with the + if (architecture == 'x86ryujit'){ + def x86Vars = ['COMPLUS_AltJit' : '*', 'COMPLUS_AltJitName' : 'protojit.dll', 'COMPLUS_NoGuiOnAssert' : '1'] + buildCommands += genStressModeScriptStep(os, scenario, Constants.jitStressModeScenarios[scenario] + x86Vars, stepScriptLocation) + } + else { + buildCommands += genStressModeScriptStep(os, scenario, Constants.jitStressModeScenarios[scenario], stepScriptLocation) + } + // Run tests with the buildCommands += "tests\\runtest.cmd ${runtestArguments} TestEnv ${stepScriptLocation}" - } + } } else if (architecture == 'x64') { buildCommands += "tests\\runtest.cmd ${runtestArguments}" @@ -1655,6 +1914,17 @@ combinedScenarios.each { scenario -> } break + case 'arm': + assert (scenario == 'default') + + // Set time out + setTestJobTimeOut(newJob, scenario) + + buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture}" + + // Add archival. + Utilities.addArchival(newJob, "bin/Product/**") + break case 'arm64': assert (scenario == 'default') || (scenario == 'pri1r2r') || (scenario == 'gcstress0x3') || (scenario == 'gcstress0xc') // Set time out @@ -1662,10 +1932,10 @@ combinedScenarios.each { scenario -> // Debug runs take too long to run. So build job only. if (lowerConfiguration == "debug") { - buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture} /toolset_dir C:\\ats2" + buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture} toolset_dir C:\\ats2" } else { - buildCommands += "set __TestIntermediateDir=int&&build.cmd skiptests ${lowerConfiguration} ${architecture} /toolset_dir C:\\ats2" + buildCommands += "set __TestIntermediateDir=int&&build.cmd skiptests ${lowerConfiguration} ${architecture} toolset_dir C:\\ats2" // Test build and run are launched together. buildCommands += "Z:\\arm64\\common\\scripts\\arm64PostLauncher.cmd %WORKSPACE% ${architecture} ${lowerConfiguration} ${scenario}" Utilities.addXUnitDotNETResults(newJob, 'bin/tests/testResults.xml') @@ -1682,12 +1952,14 @@ combinedScenarios.each { scenario -> break case 'Ubuntu': case 'Ubuntu16.04': + case 'Ubuntu16.10': case 'Debian8.4': case 'OSX': case 'FreeBSD': case 'CentOS7.1': case 'RHEL7.2': case 'OpenSUSE13.2': + case 'OpenSUSE42.1': case 'Fedora23': switch (architecture) { case 'x64': @@ -1697,6 +1969,11 @@ combinedScenarios.each { scenario -> if (architecture == 'x86ryujit' || architecture == 'x86lb') { arch = 'x86' } + + if (scenario == 'formatting') { + buildCommands += "python tests/scripts/format.py -c \${WORKSPACE} -o Linux -a ${arch}" + break + } if (!enableCorefxTesting) { // We run pal tests on all OS but generate mscorlib (and thus, nuget packages) @@ -1707,7 +1984,9 @@ combinedScenarios.each { scenario -> } else { - buildCommands += "./build.sh verbose ${lowerConfiguration} ${arch}" + def bootstrapRid = Utilities.getBoostrapPublishRid(os) + def bootstrapRidEnv = bootstrapRid != null ? "__PUBLISH_RID=${bootstrapRid} " : '' + buildCommands += "${bootstrapRidEnv}./build.sh verbose ${lowerConfiguration} ${arch}" } buildCommands += "src/pal/tests/palsuite/runpaltests.sh \${WORKSPACE}/bin/obj/${osGroup}.${arch}.${configuration} \${WORKSPACE}/bin/paltestout" @@ -1732,7 +2011,7 @@ combinedScenarios.each { scenario -> buildCommands += "git clone -b $branch --single-branch https://github.com/dotnet/corefx fx" // Set environment variable - def setEnvVar = getStressModeEnvSetCmd(os, scenario) + def setEnvVar = getStressModeEnvSetCmd(os, scenario) // Build and text corefx buildCommands += "rm -rf \$WORKSPACE/fx_home; mkdir \$WORKSPACE/fx_home" @@ -1836,7 +2115,7 @@ combinedScenarios.each { scenario -> latestSuccessful(true) } } - copyArtifacts("${corefxFolder}/linuxarmemulator_cross_${lowerConfiguration}") { + copyArtifacts("${corefxFolder}/linuxarmemulator_softfp_cross_${lowerConfiguration}") { includePatterns('bin/build.tar.gz') buildSelector { latestSuccessful(true) @@ -1962,6 +2241,8 @@ combinedScenarios.each { scenario -> if (configuration != 'Release') { return } + case 'formatting': + return case 'default': // Nothing skipped break @@ -2317,3 +2598,8 @@ build(params + [CORECLR_BUILD: coreclrBuildJob.build.number, } // scenario JobReport.Report.generateJobReport(out) + +// Make the call to generate the help job +Utilities.createHelperJob(this, project, branch, + "Welcome to the ${project} Repository", // This is prepended to the help message + "Have a nice day!") // This is appended to the help message. You might put known issues here. |