Mercurial > hg > buildbot
view icedtea/master.cfg @ 9:ea34c3f2a5b8
Add jamvm to with-additonal-vms for icedtea6-squeeze-x86_64-quick f3.
author | Mark Wielaard <mark@klomp.org> |
---|---|
date | Wed, 23 Feb 2011 13:36:05 +0100 |
parents | 72c548dad3a6 |
children | f9e38dc5abc3 |
line wrap: on
line source
# -*- python -*- # ex: set syntax=python: # Python master.cfg program for IcedTea buildbot. # Copyright (C) 2010, 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=2), BuildSlave("jaunty-ia32", getpw("jaunty-ia32"), max_builds=3), BuildSlave("squeeze-armv5tel", getpw("squeeze-armv5tel"), 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 (branch called "icedtea") # Schedules a quick build (no jdk-check, no documentation) # after waiting 5 minutes for any more changes. Should finish in less # than an hour. c['schedulers'].append(Scheduler(name="icedtea6-quick", branch="icedtea6", treeStableTimer=5*60, builderNames=["icedtea6-squeeze-x86_64-quick", "icedtea6-squeeze-x86_64-quick-hotspot", "icedtea6-natty-armv7l-quick", "icedtea6-natty-armv7l-quick-cacao", "icedtea6-natty-armv7l-quick-shark", "icedtea6-jaunty-ia32-quick-zero", "icedtea6-jaunty-ia32-quick-cacao", "icedtea6-jaunty-ia32-quick-shark", "icedtea6-squeeze-armv5tel-quick", "icedtea6-squeeze-armv5tel-quick-cacao", "icedtea6-squeeze-armv5tel-quick-shark"] )) c['schedulers'].append(Scheduler(name="icedtea7-quick", branch="icedtea", treeStableTimer=5*60, builderNames=["icedtea7-squeeze-x86_64-quick", "icedtea7-squeeze-armv5tel-quick", "icedtea7-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-squeeze-armv5tel", "icedtea-web-natty-armv7l"])) c['schedulers'].append(Scheduler(name="testrepo", branch="testrepo", treeStableTimer=60, builderNames=["testrepo-squeeze-x86_64", "testrepo-natty-armv7l", "testrepo-jaunty-ia32", "testrepo-squeeze-armv5tel"])) # Full scheduler for icedtea6 or icedtea (icedtea7) 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-squeeze-x86_64-full"])) c['schedulers'].append(Nightly(name="icedtea7-full", branch="icedtea", onlyIfChanged=True, hour=range(4, 24, 8), minute=8, builderNames=["icedtea7-squeeze-x86_64-full"])) ####### BUILDERS # Note this is the backup mercurial repo server. # Currently the backup server is the one pinging the PBChangeSource, # so let the build slaves also pull from it, to make sure they are # in sync. hgrepo = "http://icedtea.wildebeest.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(Test(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 } 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(Test(command=["make", "check"], workdir="build")) icedtea_web_builder_squeeze_armv5tel = { 'name': "icedtea-web-squeeze-armv5tel", 'slavenames': ["squeeze-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_natty_armv7l = { 'name': "testrepo-natty-armv7l", 'slavenames': ["natty-armv7l"], 'builddir': "testrepo_natty_armv7l", 'factory': f2 } testrepo_builder_jaunty_ia32 = { 'name': "testrepo-jaunty-ia32", 'slavenames': ["jaunty-ia32"], 'builddir': "testrepo_jaunty_ia32", 'factory': f2 } testrepo_builder_squeeze_armv5tel = { 'name': "testrepo-squeeze-armv5tel", 'slavenames': ["squeeze-armv5tel"], 'builddir': "testrepo_squeeze_armv5tel", 'factory': f2 } f3 = factory.BuildFactory() f3.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-optimizations", "--disable-docs", "--with-additional-vms=jamvm,cacao,shark", "--with-parallel-jobs=4", "--with-llvm-config=llvm-config-2.7"], workdir="build")) f3.addStep(Compile(workdir="build")) f3.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) f3h = factory.BuildFactory() f3h.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3h.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3h.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3h.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-optimizations", "--disable-docs", "--with-hotspot-build", "--with-parallel-jobs=4"], workdir="build")) f3h.addStep(Compile(workdir="build")) f3h.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3h.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) f3an = factory.BuildFactory() f3an.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3an.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3an.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3an.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs"], workdir="build")) f3an.addStep(Compile(workdir="build")) f3an.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3an.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) 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(command=["make", "CACAO_CONFIGURE_ARGS=\"--enable-softfloat\""], 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)) 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)) f3jz = factory.BuildFactory() f3jz.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3jz.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3jz.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3jz.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=5", "--disable-docs", "--with-hotspot-build", "--enable-zero"], workdir="build")) f3jz.addStep(Compile(workdir="build")) f3jz.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3jz.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3js = factory.BuildFactory() f3js.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3js.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3js.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3js.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=5", "--disable-docs", "--with-hotspot-build", "--enable-shark"], workdir="build")) f3js.addStep(Compile(workdir="build")) f3js.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3js.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) f3jc = factory.BuildFactory() f3jc.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3jc.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3jc.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3jc.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--with-parallel-jobs=5", "--disable-docs", "--with-hotspot-build", "--enable-cacao"], workdir="build")) f3jc.addStep(Compile(workdir="build")) f3jc.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3jc.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build", timeout=2400)) 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"], 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")) 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-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")) 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", "--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")) icedtea6_builder_quick = { 'name': "icedtea6-squeeze-x86_64-quick", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-quick", 'factory': f3 } icedtea6_builder_quick_hotspot = { 'name': "icedtea6-squeeze-x86_64-quick-hotspot", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-quick-hotspot", 'factory': f3h } icedtea6_builder_quick_arm_natty = { 'name': "icedtea6-natty-armv7l-quick", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea6-natty-armv7l-quick", 'factory': f3an } 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_shark = { 'name': "icedtea6-natty-armv7l-quick-shark", 'slavenames': ["natty-armv7l"], 'builddir': "icedtea6-natty-armv7l-quick-shark", 'factory': f3ans } icedtea6_builder_quick_ia32_jaunty_shark = { 'name': "icedtea6-jaunty-ia32-quick-shark", 'slavenames': ["jaunty-ia32"], 'builddir': "icedtea6-jaunty-ia32-quick-shark", 'factory': f3js } icedtea6_builder_quick_ia32_jaunty_cacao = { 'name': "icedtea6-jaunty-ia32-quick-cacao", 'slavenames': ["jaunty-ia32"], 'builddir': "icedtea6-jaunty-ia32-quick-cacao", 'factory': f3jc } icedtea6_builder_quick_ia32_jaunty_zero = { 'name': "icedtea6-jaunty-ia32-quick-zero", 'slavenames': ["jaunty-ia32"], 'builddir': "icedtea6-jaunty-ia32-quick-zero", 'factory': f3jz } icedtea6_builder_quick_armv5tel_squeeze = { 'name': "icedtea6-squeeze-armv5tel-quick", 'slavenames': ["squeeze-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick", 'factory': f3a5 } icedtea6_builder_quick_armv5tel_squeeze_shark = { 'name': "icedtea6-squeeze-armv5tel-quick-shark", 'slavenames': ["squeeze-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick-shark", 'factory': f3a5s } icedtea6_builder_quick_armv5tel_squeeze_cacao = { 'name': "icedtea6-squeeze-armv5tel-quick-cacao", 'slavenames': ["squeeze-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick-cacao", 'factory': f3a5c } icedtea7_builder_quick = { 'name': "icedtea7-squeeze-x86_64-quick", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea7-quick", 'factory': f3 } icedtea7_builder_quick_armv5tel_squeeze = { 'name': "icedtea7-squeeze-armv5tel-quick", 'slavenames': ["squeeze-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': f3an } 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-additional-vms=cacao,shark", "--with-parallel-jobs=4", "--with-llvm-config=llvm-config-2.7"], 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")) icedtea6_builder_full = { 'name': "icedtea6-squeeze-x86_64-full", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-full", 'factory': f4 } icedtea7_builder_full = { 'name': "icedtea7-squeeze-x86_64-full", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea7-full", 'factory': f4 } c['builders'] = [icedtea6_builder_quick, icedtea6_builder_quick_hotspot, icedtea6_builder_quick_arm_natty, icedtea6_builder_quick_arm_natty_cacao, icedtea6_builder_quick_arm_natty_shark, icedtea6_builder_quick_ia32_jaunty_shark, icedtea6_builder_quick_ia32_jaunty_cacao, icedtea6_builder_quick_ia32_jaunty_zero, icedtea6_builder_quick_armv5tel_squeeze, icedtea6_builder_quick_armv5tel_squeeze_cacao, icedtea6_builder_quick_armv5tel_squeeze_shark, icedtea7_builder_quick, icedtea7_builder_quick_armv5tel_squeeze, icedtea7_builder_quick_arm_natty, icedtea6_builder_full, icedtea7_builder_full, icedtea_web_builder_x86_64, icedtea_web_builder_squeeze_armv5tel, icedtea_web_builder_natty_armv7l, testrepo_builder_x86_64, testrepo_builder_natty_armv7l, testrepo_builder_jaunty_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') # 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, allowForce=False, 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={ 'started': 0, 'finished': 0, 'success': 0, 'failure': 0, 'exception': 0, 'successToFailure': 1, 'successToException': 1, 'failureToSuccess': 1, 'failureToException': 0, 'exceptionToSuccess': 1, 'exceptionToFailure': 0 })) # 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/"