/hg/buildbot: Initial checkin of icedtea buildbot config for bui...

mjw at icedtea.classpath.org mjw at icedtea.classpath.org
Sun Feb 20 14:54:41 PST 2011


changeset 2b632652ec94 in /hg/buildbot
details: http://icedtea.classpath.org/hg/buildbot?cmd=changeset;node=2b632652ec94
author: Mark Wielaard <mark at klomp.org>
date: Sun Feb 20 23:52:34 2011 +0100

	Initial checkin of icedtea buildbot config for
	builder.classpath.org.

	Bit of a copy/paste configuration setup. Needs some
	refactoring/cleanup. But it is a start.


diffstat:

1 file changed, 677 insertions(+)
icedtea/master.cfg |  677 ++++++++++++++++++++++++++++++++++++++++++++++++++++

diffs (truncated from 681 to 500 lines):

diff -r 000000000000 -r 2b632652ec94 icedtea/master.cfg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icedtea/master.cfg	Sun Feb 20 23:52:34 2011 +0100
@@ -0,0 +1,677 @@
+# -*- python -*-
+# ex: set syntax=python:
+
+# Python master.cfg program for IcedTea buildbot.
+# Copyright (C) 2010, Mark J. Wielaard <mark at 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("squeeze-armv7l",
+                          getpw("squeeze-armv7l"),
+                          max_builds=1),
+               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-armv7l-quick",
+                                       "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-armv7l-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-armv7l",
+                                               "icedtea-web-natty-armv7l"]))
+
+c['schedulers'].append(Scheduler(name="testrepo", branch="testrepo",
+                                 treeStableTimer=60,
+                                 builderNames=["testrepo-squeeze-x86_64",
+                                               "testrepo-squeeze-armv7l",
+                                               "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_armv7l = { 'name': "icedtea-web-squeeze-armv7l",
+                               'slavenames': ["squeeze-armv7l"],
+                               'builddir': "icedtea-web-squeeze-armv7l",
+                               '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_squeeze_armv7l = { 'name': "testrepo-squeeze-armv7l",
+                            'slavenames': ["squeeze-armv7l"],
+                            'builddir': "testrepo_squeeze_armv7l",
+                            '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=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"))
+
+f3as = factory.BuildFactory()
+f3as.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update"))
+f3as.addStep(ShellCommand(command=["./autogen.sh"],
+                        workdir="src",
+                        description="autogen"))
+f3as.addStep(ShellCommand(command=["rm", "-rf", "build"],
+                        workdir=".",
+                        description="clean build dir"))
+f3as.addStep(Configure(command=["../src/configure",
+                              "--disable-bootstrap",
+                              "--disable-docs"],
+                              workdir="build"))
+f3as.addStep(Compile(workdir="build"))
+f3as.addStep(JTRegCheck(command=["make", "check-hotspot"],
+                      description="check-hotspot",
+                      workdir="build"))
+f3as.addStep(JTRegCheck(command=["make", "check-langtools"],
+                      description="check-langtools",
+                      workdir="build", timeout=2400))
+
+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(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",
+                              "--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",
+                              "--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",
+                              "--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(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_arm_squeeze = { 'name': "icedtea6-squeeze-armv7l-quick",
+                           'slavenames': ["squeeze-armv7l"],
+                           'builddir': "icedtea6-squeeze-armv7l-quick",
+                           'factory': f3as }
+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",



More information about the distro-pkg-dev mailing list