Mercurial > hg > buildbot
view icedtea/master.cfg @ 55:5e60264eb933
Perform extensive cleanup and add support for building IcedTea 3.x with OpenJDK 8.
* Remove duplicate configure options from build.sh.
* Drop HotSpot, JamVM & CACAO quick builds from 6 (covered by main quick build)
* Make Shark build a full bootstrap
* Cleanup naming of builders, updating squeeze to wheezy
* Cleanup naming of factories to make it more obvious which corresponds to which builder
* Cleanup ordering so IcedTea 6/7/8 grouped together
* Add quick, shark, armv7 and f16 builds for IcedTea8.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Fri, 18 Apr 2014 18:42:40 +0100 |
parents | ddb0e5427eb4 |
children | 9470f0df7040 |
line wrap: on
line source
# -*- python -*- # ex: set syntax=python: # Python master.cfg program for IcedTea buildbot. # Copyright (C) 2010, 2011, Mark J. Wielaard <mark@klomp.org> # This file is part of the IcedTea buildbot, and is free software. # You can redistribute it and/or modify it under the terms of the GNU # General Public License (GPL); either version 2, or (at your option) # any later version. # Passwords are stored in the buildbot-icedtea.config as simple raw # properties file. import os from ConfigParser import RawConfigParser passwords = RawConfigParser() passwords.read([os.path.expanduser('~/buildbot-icedtea.config')]) def getpw(name): return passwords.get("passwords", name) c = BuildmasterConfig = {} ####### BUILDSLAVES from buildbot.buildslave import BuildSlave c['slaves'] = [BuildSlave("squeeze-x86_64", getpw("squeeze-x86_64"), max_builds=3), BuildSlave("natty-armv7l", getpw("natty-armv7l"), max_builds=1), BuildSlave("lucid-ia32", getpw("jaunty-ia32"), max_builds=1), BuildSlave("bot3-armv5tel", getpw("squeeze-armv5tel"), max_builds=1), BuildSlave("bot2-armv5tel", getpw("squeeze-armv5tel"), max_builds=1), BuildSlave("squeeze-armv5tel", getpw("squeeze-armv5tel"), max_builds=1), BuildSlave("fedora16-x86", getpw("vanaltj"), max_builds=1)] c['slavePortnum'] = 9989 ####### CHANGESOURCES # The mercurial repository will send changes to PBChangeSource port # (same as slavePortnum). Must authenticate with user and password. from buildbot.changes.pb import PBChangeSource c['change_source'] = PBChangeSource(user="itbbcs", passwd=getpw("itbbcs")) ####### SCHEDULERS from buildbot.scheduler import Scheduler c['schedulers'] = [] # "Quick" schedulers for icedtea6 and 7 # Schedules a quick build (no bootstrap, no documentation) # after waiting 5 minutes for any more changes. # the x86_64 builders also skips check-jdk to prevent server hickups since # they are running on the buildmaster. c['schedulers'].append(Scheduler(name="icedtea6-quick", branch="icedtea6", treeStableTimer=5*60, builderNames=["icedtea6-wheezy-x86_64-quick", "icedtea6-wheezy-x86_64-quick-shark", "icedtea6-f16-x86", "icedtea6-natty-armv7l-quick", "icedtea6-natty-armv7l-quick-cacao", "icedtea6-natty-armv7l-quick-jamvm", "icedtea6-natty-armv7l-quick-shark", "icedtea6-lucid-ia32-quick-zero", "icedtea6-lucid-ia32-quick-cacao", "icedtea6-lucid-ia32-quick-jamvm", "icedtea6-lucid-ia32-quick-shark", "icedtea6-squeeze-armv5tel-quick", "icedtea6-squeeze-armv5tel-quick-cacao", "icedtea6-squeeze-armv5tel-quick-jamvm", "icedtea6-squeeze-armv5tel-quick-shark"] )) c['schedulers'].append(Scheduler(name="icedtea7-quick", branch="icedtea7", treeStableTimer=5*60, builderNames=["icedtea7-wheezy-x86_64-quick", "icedtea7-wheezy-x86_64-shark", "icedtea7-f16-x86", "icedtea7-squeeze-armv5tel-quick", "icedtea7-natty-armv7l-quick"] )) c['schedulers'].append(Scheduler(name="icedtea8-quick", branch="icedtea", treeStableTimer=5*60, builderNames=["icedtea8-wheezy-x86_64-quick", "icedtea8-wheezy-x86_64-shark", "icedtea8-f16-x86", "icedtea8-squeeze-armv5tel-quick", "icedtea8-natty-armv7l-quick"] )) # "Normal" schedulers for icedtea-web and testrepo. # Schedules a full build of either branch after waiting 60 seconds # for any more changes. c['schedulers'].append(Scheduler(name="icedtea-web", branch="icedtea-web", treeStableTimer=60, builderNames=["icedtea-web-squeeze-x86_64", "icedtea-web-f16-x86", "icedtea-web-squeeze-armv5tel", "icedtea-web-natty-armv7l"])) c['schedulers'].append(Scheduler(name="testrepo", branch="testrepo", treeStableTimer=60, builderNames=["testrepo-squeeze-x86_64", "testrepo-f16-x86", "testrepo-natty-armv7l", "testrepo-lucid-ia32", "testrepo-squeeze-armv5tel"])) # Full scheduler for icedtea6, icedtea7 or icedtea8 branches. # Triggers every 8 hours if there were changes. Schedules a full build # that includes documentation and jdk-check. Takes multiple hours. # The trigger times are shifted 4 hours to minimize overlap. from buildbot.schedulers.timed import Nightly c['schedulers'].append(Nightly(name="icedtea6-full", branch="icedtea6", onlyIfChanged=True, hour=range(0, 24, 8), minute=38, builderNames=["icedtea6-wheezy-x86_64-full"])) c['schedulers'].append(Nightly(name="icedtea7-full", branch="icedtea7", onlyIfChanged=True, hour=range(4, 24, 8), minute=8, builderNames=["icedtea7-wheezy-x86_64-full"])) c['schedulers'].append(Nightly(name="icedtea8-full", branch="icedtea", onlyIfChanged=True, hour=range(4, 24, 8), minute=8, builderNames=["icedtea8-wheezy-x86_64-full"])) ####### BUILDERS # The main mercurial repository server. This machines pings the # PBChangeSource. The build slaves should pull from it, to make # sure they are in sync. hgrepo = "http://icedtea.classpath.org/hg/" from buildbot.process import factory from buildbot.steps.source import Mercurial from buildbot.steps.shell import ShellCommand from buildbot.steps.shell import Configure from buildbot.steps.shell import Compile from buildbot.steps.shell import Test from buildbot.process.buildstep import LogLineObserver from buildbot.status.builder import SUCCESS, WARNINGS, FAILURE, EXCEPTION class PassFailErrorCounter(LogLineObserver): def __init__(self, **kwargs): LogLineObserver.__init__(self, **kwargs) # always upcall! self.numPassed = 0 self.numFailed = 0 self.numError = 0 def outLineReceived(self, line): if line.startswith("Passed: "): self.numPassed += 1 self.step.setProgress('pass', self.numPassed) elif line.startswith("FAILED: "): self.numFailed += 1 self.step.setProgress('fail', self.numFailed) elif line.startswith("Error: "): self.numError += 1 self.step.setProgress('error', self.numError) class JTRegCheck(Test): name = "jtregcheck" command = [name] def __init__(self, **kwargs): Test.__init__(self, **kwargs) # always upcall! self.counter = PassFailErrorCounter() self.addLogObserver('stdio', self.counter) self.progressMetrics += ('tests', 'pass', 'fail', 'error',) def getText(self, cmd, results): text = Test.getText(self, cmd, results) if self.counter.numPassed > 0: text.append("pass: " + str(self.counter.numPassed)) if self.counter.numFailed > 0: text.append("fail: " + str(self.counter.numFailed)) if self.counter.numError > 0: text.append("error: " + str(self.counter.numError)) return text def getText2(self, cmd, results): return getText(self, cmd, results) def evaluateCommand(self, cmd): if self.counter.numFailed > 0 or self.counter.numError > 0: return WARNINGS else: return SUCCESS # icedtea-web f1 = factory.BuildFactory() f1.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f1.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f1.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) #f1.addStep(ShellCommand(command=["mkdir", "build"], description="create build dir")) f1.addStep(Configure(command=["../src/configure"], workdir="build")) f1.addStep(Compile(command=["make", "-j4"], workdir="build")) f1.addStep(JTRegCheck(command=["make", "check"], workdir="build")) icedtea_web_builder_x86_64 = { 'name': "icedtea-web-squeeze-x86_64", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea-web", 'factory': f1 } f1f16 = factory.BuildFactory() f1f16.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f1f16.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f1f16.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f1f16.addStep(Configure(command=["../src/configure"], workdir="build")) f1f16.addStep(Compile(command=["make", "-j4"], workdir="build")) f1f16.addStep(JTRegCheck(command=["make", "check"], workdir="build")) icedtea_web_builder_f16_x86 = { 'name': "icedtea-web-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "f16-icedtea-web", 'factory': f1f16 } f1arm = factory.BuildFactory() f1arm.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f1arm.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f1arm.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f1arm.addStep(Configure(command=["../src/configure", "--disable-docs"], workdir="build")) f1arm.addStep(Compile(command=["make", "-j2"], workdir="build")) f1arm.addStep(JTRegCheck(command=["make", "check"], workdir="build")) icedtea_web_builder_squeeze_armv5tel = { 'name': "icedtea-web-squeeze-armv5tel", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "icedtea-web-squeeze-armv5tel", 'factory': f1arm } icedtea_web_builder_natty_armv7l = { 'name': "icedtea-web-natty-armv7l", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea-web-natty-armv7l", 'factory': f1arm } f2 = factory.BuildFactory() f2.addStep(Mercurial(baseURL=hgrepo, mode="clobber")) f2.addStep(Compile()) f2.addStep(Test(command=["make", "check"])) testrepo_builder_x86_64 = { 'name': "testrepo-squeeze-x86_64", 'slavenames': ["squeeze-x86_64"], 'builddir': "testrepo", 'factory': f2 } testrepo_builder_f16_x86 = { 'name': "testrepo-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "f16-testrepo", 'factory': f2 } testrepo_builder_natty_armv7l = { 'name': "testrepo-natty-armv7l", 'slavenames': ["natty-armv7l"], 'builddir': "testrepo_natty_armv7l", 'factory': f2 } testrepo_builder_lucid_ia32 = { 'name': "testrepo-lucid-ia32", 'slavenames': ["lucid-ia32"], 'builddir': "testrepo_lucid_ia32", 'factory': f2 } testrepo_builder_squeeze_armv5tel = { 'name': "testrepo-squeeze-armv5tel", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "testrepo_squeeze_armv5tel", 'factory': f2 } # Generic IcedTea # Default build factory that just does autogen, configure, make and make check fdefault = factory.BuildFactory() fdefault.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) fdefault.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) fdefault.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) fdefault.addStep(Configure(command=["../src/configure", "--with-parallel-jobs=2"], workdir="build")) fdefault.addStep(Compile(workdir="build")) fdefault.addStep(JTRegCheck(command=["make", "check"], description="check", workdir="build")) fdefault.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # Default build factory that just does autogen, configure, make and make check with no docs fnodocs = factory.BuildFactory() fnodocs.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) fnodocs.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) fnodocs.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) fnodocs.addStep(Configure(command=["../src/configure", "--disable-docs", "--with-parallel-jobs=2"], workdir="build")) fnodocs.addStep(Compile(workdir="build")) fnodocs.addStep(JTRegCheck(command=["make", "check"], description="check", workdir="build")) fnodocs.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # Generic quick squeeze armv5tel f3a5 = factory.BuildFactory() f3a5.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3a5.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3a5.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3a5.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=1", "--disable-docs", "--disable-system-gio", "--disable-system-gtk", "--disable-system-lcms"], workdir="build")) f3a5.addStep(Compile(workdir="build")) f3a5.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3a5.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3a5.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3a5.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # IcedTea6 #icedtea6-wheezy-x86_64-quick f3q6 = factory.BuildFactory() f3q6.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3q6.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3q6.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3q6.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-system-lcms", "--disable-docs", "--with-additional-vms=jamvm,cacao,zero", "--with-parallel-jobs=4"], workdir="build")) f3q6.addStep(Compile(workdir="build")) f3q6.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3q6.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) #icedtea6-squeeze-x86_64-quick-shark f3s6 = factory.BuildFactory() f3s6.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3s6.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3s6.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3s6.addStep(Configure(command=["../src/configure", "--disable-system-lcms", "--disable-docs", "--enable-shark"], workdir="build")) f3s6.addStep(Compile(workdir="build")) f3s6.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3s6.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) # icedtea6-natty-armv7l-quick f3an6 = factory.BuildFactory() f3an6.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3an6.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3an6.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3an6.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs"], workdir="build")) f3an6.addStep(Compile(workdir="build")) f3an6.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3an6.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3an6.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3an6.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # icedtea6-natty-armv7l-quick-cacao f3anc = factory.BuildFactory() f3anc.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3anc.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3anc.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3anc.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs", "--enable-cacao"], workdir="build")) f3anc.addStep(Compile(workdir="build")) f3anc.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3anc.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3anc.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3anc.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # icedtea6-natty-armv7l-quick-jamvm f3anj = factory.BuildFactory() f3anj.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3anj.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3anj.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3anj.addStep(Configure(command=["../src/configure", "--enable-jamvm", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs"], workdir="build")) f3anj.addStep(Compile(workdir="build")) f3anj.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3anj.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3anj.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3anj.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # icedtea6-natty-armv7l-quick-shark f3ans = factory.BuildFactory() f3ans.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3ans.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3ans.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3ans.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs", "--enable-shark"], workdir="build")) f3ans.addStep(Compile(workdir="build")) f3ans.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3ans.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3ans.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3ans.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) #icedtea6-lucid-ia32-quick-shark f3ls = factory.BuildFactory() f3ls.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3ls.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3ls.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3ls.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=5", "--disable-system-lcms", "--disable-docs", "--with-hotspot-build", "--enable-shark"], workdir="build")) f3ls.addStep(Compile(workdir="build")) f3ls.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3ls.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3ls.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3ls.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) #icedtea6-lucid-ia32-quick-cacao f3lc = factory.BuildFactory() f3lc.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3lc.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3lc.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3lc.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=5", "--disable-system-lcms", "--disable-docs", "--with-hotspot-build", "--enable-cacao"], workdir="build")) f3lc.addStep(Compile(workdir="build")) f3lc.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3lc.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3lc.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3lc.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) #icedtea6-lucid-ia32-quick-jamvm f3lj = factory.BuildFactory() f3lj.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3lj.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3lj.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3lj.addStep(Configure(command=["../src/configure", "--enable-jamvm", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-system-lcms", "--disable-docs"], workdir="build")) f3lj.addStep(Compile(workdir="build")) f3lj.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3lj.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3lj.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3lj.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) #icedtea6-lucid-ia32-quick-zero f3lz = factory.BuildFactory() f3lz.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3lz.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3lz.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3lz.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=5", "--disable-system-lcms", "--disable-docs", "--with-hotspot-build", "--enable-zero"], workdir="build")) f3lz.addStep(Compile(workdir="build")) f3lz.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3lz.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3lz.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3lz.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) #icedtea6-squeeze-armv5tel-quick-cacao f3a5c = factory.BuildFactory() f3a5c.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3a5c.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3a5c.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3a5c.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=1", "--disable-system-lcms", "--disable-docs", "--enable-cacao"], workdir="build")) f3a5c.addStep(Compile(command=["make", "CACAO_CONFIGURE_ARGS=\"--enable-softfloat\""], workdir="build")) f3a5c.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3a5c.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) f3a5c.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3a5c.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) #icedtea6-squeeze-armv5tel-quick-jamvm f3a5j = factory.BuildFactory() f3a5j.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3a5j.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3a5j.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3a5j.addStep(Configure(command=["../src/configure", "--enable-jamvm", "--disable-bootstrap", "--with-parallel-jobs=1", "--disable-system-lcms", "--disable-docs"], workdir="build")) f3a5j.addStep(Compile(workdir="build")) f3a5j.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3a5j.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3a5j.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3a5j.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # icedtea6-squeeze-armv5tel-quick-shark f3a5s = factory.BuildFactory() f3a5s.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3a5s.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3a5s.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3a5s.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=1", "--disable-docs", "--disable-system-lcms", "--enable-shark"], workdir="build")) f3a5s.addStep(Compile(workdir="build")) f3a5s.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3a5s.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3a5s.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3a5s.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # IcedTea7 #icedtea7-wheezy-x86_64-quick f3q7 = factory.BuildFactory() f3q7.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3q7.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3q7.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3q7.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-docs", "--with-additional-vms=jamvm,cacao,zero", "--with-parallel-jobs=4", "--disable-system-lcms"], workdir="build")) f3q7.addStep(Compile(workdir="build")) f3q7.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3q7.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) #icedtea7-wheezy-x86_64-shark f3s7 = factory.BuildFactory() f3s7.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3s7.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3s7.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3s7.addStep(Configure(command=["../src/configure", "--enable-shark", "--disable-docs", "--with-parallel-jobs=4", "--disable-system-lcms"], workdir="build")) f3s7.addStep(Compile(workdir="build")) f3s7.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3s7.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) # icedtea7-natty-armv7l-quick f3an7 = factory.BuildFactory() f3an7.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3an7.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3an7.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3an7.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs", "--disable-system-lcms"], workdir="build")) f3an7.addStep(Compile(workdir="build")) f3an7.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3an7.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3an7.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) f3an7.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # IcedTea8 #icedtea8-wheezy-x86_64-quick f3q8 = factory.BuildFactory() f3q8.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3q8.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3q8.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3q8.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-docs", "--with-additional-vms=jamvm,cacao,zero", "--with-parallel-jobs=4", "--disable-system-lcms"], workdir="build")) f3q8.addStep(Compile(workdir="build")) f3q8.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3q8.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) #icedtea8-wheezy-x86_64-shark f3s8 = factory.BuildFactory() f3s8.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3s8.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3s8.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3s8.addStep(Configure(command=["../src/configure", "--enable-shark", "--disable-docs", "--with-parallel-jobs=4", "--disable-system-lcms"], workdir="build")) f3s8.addStep(Compile(workdir="build")) f3s8.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3s8.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) # icedtea8-natty-armv7l-quick f3an8 = factory.BuildFactory() f3an8.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3an8.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3an8.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3an8.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs", "--disable-system-lcms"], workdir="build")) f3an8.addStep(Compile(workdir="build")) f3an8.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3an8.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3an8.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=8500)) f3an8.addStep(ShellCommand(command=["killall", "-q", "-v", "-s", "KILL", "java"], workdir=".", flunkOnFailure=False, alwaysRun=True, description="killall")) # IcedTea6 icedtea6_builder_quick = { 'name': "icedtea6-wheezy-x86_64-quick", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-quick", 'factory': f3q6 } icedtea6_builder_shark = { 'name': "icedtea6-wheezy-x86_64-shark", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-shark", 'factory': f3s6 } icedtea6_builder_f16_x86 = { 'name': "icedtea6-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "icedtea6-f16-x86", 'factory': fnodocs } icedtea6_builder_quick_arm_natty = { 'name': "icedtea6-natty-armv7l-quick", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea6-natty-armv7l-quick", 'factory': f3an6 } icedtea6_builder_quick_arm_natty_cacao = { 'name': "icedtea6-natty-armv7l-quick-cacao", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea6-natty-armv7l-quick-cacao", 'factory': f3anc } icedtea6_builder_quick_arm_natty_jamvm = { 'name': "icedtea6-natty-armv7l-quick-jamvm", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea6-natty-armv7l-quick-jamvm", 'factory': f3anj } icedtea6_builder_quick_arm_natty_shark = { 'name': "icedtea6-natty-armv7l-quick-shark", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea6-natty-armv7l-quick-shark", 'factory': f3ans } icedtea6_builder_quick_ia32_lucid_shark = { 'name': "icedtea6-lucid-ia32-quick-shark", 'slavenames': ["lucid-ia32"], 'builddir': "icedtea6-lucid-ia32-quick-shark", 'factory': f3ls } icedtea6_builder_quick_ia32_lucid_cacao = { 'name': "icedtea6-lucid-ia32-quick-cacao", 'slavenames': ["lucid-ia32"], 'builddir': "icedtea6-lucid-ia32-quick-cacao", 'factory': f3lc } icedtea6_builder_quick_ia32_lucid_jamvm = { 'name': "icedtea6-lucid-ia32-quick-jamvm", 'slavenames': ["lucid-ia32"], 'builddir': "icedtea6-lucid-ia32-quick-jamvm", 'factory': f3lj } icedtea6_builder_quick_ia32_lucid_zero = { 'name': "icedtea6-lucid-ia32-quick-zero", 'slavenames': ["lucid-ia32"], 'builddir': "icedtea6-lucid-ia32-quick-zero", 'factory': f3lz } icedtea6_builder_quick_armv5tel_squeeze = { 'name': "icedtea6-squeeze-armv5tel-quick", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick", 'factory': f3a5 } icedtea6_builder_quick_armv5tel_squeeze_cacao = { 'name': "icedtea6-squeeze-armv5tel-quick-cacao", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick-cacao", 'factory': f3a5c } icedtea6_builder_quick_armv5tel_squeeze_jamvm = { 'name': "icedtea6-squeeze-armv5tel-quick-jamvm", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick-jamvm", 'factory': f3a5j } icedtea6_builder_quick_armv5tel_squeeze_shark = { 'name': "icedtea6-squeeze-armv5tel-quick-shark", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick-shark", 'factory': f3a5s } # IcedTea7 icedtea7_builder_quick = { 'name': "icedtea7-wheezy-x86_64-quick", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea7-quick", 'factory': f3q7 } icedtea7_builder_shark = { 'name': "icedtea7-wheezy-x86_64-shark", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea7-shark", 'factory': f3s7 } icedtea7_builder_f16_x86 = { 'name': "icedtea7-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "icedtea7-f16-x86", 'factory': fnodocs } icedtea7_builder_quick_armv5tel_squeeze = { 'name': "icedtea7-squeeze-armv5tel-quick", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "icedtea7-squeeze-armv5tel-quick", 'factory': f3a5 } icedtea7_builder_quick_arm_natty = { 'name': "icedtea7-natty-armv7l-quick", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea7-natty-armv7l-quick", 'factory': f3an7 } # IcedTea8 icedtea8_builder_quick = { 'name': "icedtea8-wheezy-x86_64-quick", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea7-quick", 'factory': f3q8 } icedtea8_builder_shark = { 'name': "icedtea8-wheezy-x86_64-shark", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea7-shark", 'factory': f3s8 } icedtea8_builder_f16_x86 = { 'name': "icedtea8-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "icedtea8-f16-x86", 'factory': fnodocs } icedtea8_builder_quick_armv5tel_squeeze = { 'name': "icedtea8-squeeze-armv5tel-quick", 'slavenames': ["squeeze-armv5tel", "bot2-armv5tel", "bot3-armv5tel"], 'builddir': "icedtea8-squeeze-armv5tel-quick", 'factory': f3a5 } icedtea8_builder_quick_arm_natty = { 'name': "icedtea8-natty-armv7l-quick", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea8-natty-armv7l-quick", 'factory': f3an8 } # Full build f4 = factory.BuildFactory() f4.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f4.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f4.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f4.addStep(Configure(command=["../src/configure", "--enable-bootstrap", "--enable-optimizations", "--enable-docs", "--enable-nss", "--with-parallel-jobs=4", "--disable-system-lcms"], workdir="build")) f4.addStep(Compile(workdir="build")) f4.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f4.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) f4.addStep(JTRegCheck(command=["make", "check-jdk"], description="check-jdk", workdir="build", timeout=7500)) icedtea6_builder_full = { 'name': "icedtea6-wheezy-x86_64-full", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-full", 'factory': f4 } icedtea7_builder_full = { 'name': "icedtea7-wheezy-x86_64-full", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea7-full", 'factory': f4 } icedtea8_builder_full = { 'name': "icedtea8-wheezy-x86_64-full", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea8-full", 'factory': f4 } c['builders'] = [icedtea6_builder_quick, icedtea6_builder_shark, icedtea6_builder_f16_x86, icedtea6_builder_quick_arm_natty, icedtea6_builder_quick_arm_natty_cacao, icedtea6_builder_quick_arm_natty_jamvm, icedtea6_builder_quick_arm_natty_shark, icedtea6_builder_quick_ia32_lucid_shark, icedtea6_builder_quick_ia32_lucid_cacao, icedtea6_builder_quick_ia32_lucid_jamvm, icedtea6_builder_quick_ia32_lucid_zero, icedtea6_builder_quick_armv5tel_squeeze, icedtea6_builder_quick_armv5tel_squeeze_cacao, icedtea6_builder_quick_armv5tel_squeeze_jamvm, icedtea6_builder_quick_armv5tel_squeeze_shark, icedtea7_builder_quick, icedtea7_builder_shark, icedtea7_builder_f16_x86, icedtea7_builder_quick_armv5tel_squeeze, icedtea7_builder_quick_arm_natty, icedtea8_builder_quick, icedtea8_builder_shark, icedtea8_builder_f16_x86, icedtea8_builder_quick_armv5tel_squeeze, icedtea8_builder_quick_arm_natty, icedtea6_builder_full, icedtea7_builder_full, icedtea8_builder_full, icedtea_web_builder_x86_64, icedtea_web_builder_f16_x86, icedtea_web_builder_squeeze_armv5tel, icedtea_web_builder_natty_armv7l, testrepo_builder_x86_64, testrepo_builder_f16_x86, testrepo_builder_natty_armv7l, testrepo_builder_lucid_ia32, testrepo_builder_squeeze_armv5tel ] ####### STATUS TARGETS c['status'] = [] import urllib def create_revlink(rev, repo): if not repo or not rev: return None rev = urllib.quote(rev) repo = urllib.quote(repo) return 'http://icedtea.classpath.org/hg/%s/rev/%s' % (repo, rev) def create_repolink(repo): if not repo: return None return 'http://icedtea.classpath.org/hg/%s' % (repo) # Catch things like PR icedtea/42, PR16, PR 16 or bug #11, # and turn them into icedtea bugzilla URLs. # TODO: Catch other conventions used (see icedtea NEWS file). cc_re_tuple = (r'(PR [a-z]+/|PR ?|#)(\d+)', r'http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=\2') # Allow people to force a build. from buildbot.status.web.authz import Authz authz = Authz(forceBuild=True) # Note http_port is local only, will be proxied by httpd running on builder. from buildbot.status import html c['status'].append(html.WebStatus(http_port=8010, authz=authz, order_console_by_time=True, revlink=create_revlink, repositories=create_repolink, changecommentlink=cc_re_tuple)) # We need a interested users filter (to turn non-email addresses of # committers into email addresses) and a good template before spamming # everybody. For now only use testresults mailing list. from buildbot.status import mail c['status'].append(mail.MailNotifier (fromaddr="buildbot@wildebeest.org", extraRecipients=["testresults@icedtea.classpath.org"], sendToInterestedUsers=False)) # Very noisy in channel. from buildbot.status import words c['status'].append(words.IRC(host="irc.oftc.net", nick="cpitbb", password=getpw("cpitbb"), channels=["#openjdk"], allowForce=False, notify_events={ 'successToFailure': 1, 'successToException': 1, 'failureToSuccess': 1, 'exceptionToSuccess': 1 })) # Allows command line and gui listening. # Currently port isn't accessible, so don't enable. # from buildbot.status import client # c['status'].append(client.PBListener(9988)) ####### PROJECT IDENTITY c['projectName'] = "IcedTea" c['projectURL'] = "http://icedtea.classpath.org/" c['buildbotURL'] = "http://builder.classpath.org/icedtea/buildbot/"