Mercurial > hg > buildbot
view icedtea/master.cfg @ 18:188ff8275f72
Use JTRegCheck for icedtea-web tests.
author | Mark Wielaard <mark@klomp.org> |
---|---|
date | Thu, 10 Mar 2011 19:13:05 +0100 |
parents | 1e133a09a04d |
children | 47fe70931ef2 |
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-squeeze-x86_64-quick-jamvm", "icedtea6-squeeze-x86_64-quick-cacao", "icedtea6-squeeze-x86_64-quick-shark", "icedtea6-natty-armv7l-quick", "icedtea6-natty-armv7l-quick-cacao", "icedtea6-natty-armv7l-quick-jamvm", "icedtea6-natty-armv7l-quick-shark", "icedtea6-jaunty-ia32-quick-zero", "icedtea6-jaunty-ia32-quick-cacao", "icedtea6-jaunty-ia32-quick-jamvm", "icedtea6-jaunty-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="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 # 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 } 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"], '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")) f3j = factory.BuildFactory() f3j.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3j.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3j.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3j.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-docs", "--enable-jamvm"], workdir="build")) f3j.addStep(Compile(workdir="build")) f3j.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) f3c = factory.BuildFactory() f3c.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3c.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3c.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3c.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-docs", "--enable-cacao"], workdir="build")) f3c.addStep(Compile(workdir="build")) f3c.addStep(JTRegCheck(command=["make", "check-langtools"], description="check-langtools", workdir="build")) f3s = factory.BuildFactory() f3s.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3s.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3s.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3s.addStep(Configure(command=["../src/configure", "--disable-bootstrap", "--disable-docs", "--enable-shark"], workdir="build")) f3s.addStep(Compile(workdir="build")) f3s.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)) 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)) 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)) f3jj = factory.BuildFactory() f3jj.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f3jj.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) f3jj.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) f3jj.addStep(Configure(command=["../src/configure", "--enable-jamvm", "--disable-bootstrap", "--with-parallel-jobs=2", "--disable-docs"], workdir="build")) f3jj.addStep(Compile(workdir="build")) f3jj.addStep(JTRegCheck(command=["make", "check-hotspot"], description="check-hotspot", workdir="build")) f3jj.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")) 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-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)) 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_jamvm = { 'name': "icedtea6-squeeze-x86_64-quick-jamvm", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-quick-jamvm", 'factory': f3j } icedtea6_builder_quick_cacao = { 'name': "icedtea6-squeeze-x86_64-quick-cacao", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-quick-cacao", 'factory': f3c } icedtea6_builder_quick_shark = { 'name': "icedtea6-squeeze-x86_64-quick-shark", 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-quick-shark", 'factory': f3s } 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_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_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_jamvm = { 'name': "icedtea6-jaunty-ia32-quick-jamvm", 'slavenames': ["jaunty-ia32"], 'builddir': "icedtea6-jaunty-ia32-quick-jamvm", 'factory': f3jj } 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 } icedtea6_builder_quick_armv5tel_squeeze_jamvm = { 'name': "icedtea6-squeeze-armv5tel-quick-jamvm", 'slavenames': ["squeeze-armv5tel"], 'builddir': "icedtea6-squeeze-armv5tel-quick-jamvm", 'factory': f3a5j } 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_jamvm, icedtea6_builder_quick_cacao, icedtea6_builder_quick_shark, 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_jaunty_shark, icedtea6_builder_quick_ia32_jaunty_cacao, icedtea6_builder_quick_ia32_jaunty_jamvm, icedtea6_builder_quick_ia32_jaunty_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_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={ '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/"