[llvm-commits] [zorg] r105924 - in /zorg/trunk/buildbot/klee: ./ master/ master/config/ master/public_html/ master/templates/ slave/ slave/info/

Daniel Dunbar daniel at zuster.org
Sun Jun 13 14:01:51 PDT 2010


Author: ddunbar
Date: Sun Jun 13 16:01:51 2010
New Revision: 105924

URL: http://llvm.org/viewvc/llvm-project?rev=105924&view=rev
Log:
buildbot: Sketch KLEE buildbot configuration.

Added:
    zorg/trunk/buildbot/klee/
    zorg/trunk/buildbot/klee/Config.py
    zorg/trunk/buildbot/klee/__init__.py
    zorg/trunk/buildbot/klee/master/
    zorg/trunk/buildbot/klee/master/README.txt
    zorg/trunk/buildbot/klee/master/buildbot.tac
    zorg/trunk/buildbot/klee/master/config/
    zorg/trunk/buildbot/klee/master/config/__init__.py
    zorg/trunk/buildbot/klee/master/config/builders.py
    zorg/trunk/buildbot/klee/master/config/slaves.py
    zorg/trunk/buildbot/klee/master/config/status.py
    zorg/trunk/buildbot/klee/master/master.cfg
    zorg/trunk/buildbot/klee/master/public_html/
    zorg/trunk/buildbot/klee/master/public_html/bg_gradient.jpg   (with props)
    zorg/trunk/buildbot/klee/master/public_html/buildbot.css
    zorg/trunk/buildbot/klee/master/public_html/default.css
    zorg/trunk/buildbot/klee/master/public_html/favicon.ico   (with props)
    zorg/trunk/buildbot/klee/master/public_html/robots.txt
    zorg/trunk/buildbot/klee/master/templates/
    zorg/trunk/buildbot/klee/master/templates/root.html
    zorg/trunk/buildbot/klee/slave/
    zorg/trunk/buildbot/klee/slave/Makefile
    zorg/trunk/buildbot/klee/slave/buildbot.tac
    zorg/trunk/buildbot/klee/slave/info/
    zorg/trunk/buildbot/klee/slave/info/admin
    zorg/trunk/buildbot/klee/slave/info/host
    zorg/trunk/buildbot/klee/slave/org.llvm.klee.slave.plist

Added: zorg/trunk/buildbot/klee/Config.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/Config.py?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/Config.py (added)
+++ zorg/trunk/buildbot/klee/Config.py Sun Jun 13 16:01:51 2010
@@ -0,0 +1,23 @@
+# Common configuration parameters (used by master and slaves).
+
+def getBuildmasterHost():
+    return 'klee.minormatter.com'
+
+def getBuildmasterPort():
+    return 9990
+
+# Slave configuration parameters.
+
+def getBuildslaveName():
+    raise NotImplementedError,'please update Config.py with the buildslave name'
+
+def getBuildslavePassword():
+    raise NotImplementedError,'please update Config.py with the buildslave password'
+
+# Master configuration parameters.
+
+def getBuildbotName():
+    return 'kleebb'
+
+def getBuildmasterWebPort():
+    return 8010

Added: zorg/trunk/buildbot/klee/__init__.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/__init__.py?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/__init__.py (added)
+++ zorg/trunk/buildbot/klee/__init__.py Sun Jun 13 16:01:51 2010
@@ -0,0 +1,5 @@
+"""Top level module for the KLEE buildbot."""
+
+import Config
+
+__all__ = [Config]

Added: zorg/trunk/buildbot/klee/master/README.txt
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/README.txt?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/README.txt (added)
+++ zorg/trunk/buildbot/klee/master/README.txt Sun Jun 13 16:01:51 2010
@@ -0,0 +1,9 @@
+This directory contains the configuration for the KLEE buildbot.
+
+Most of the configuration is here, except for a few details on the
+local configuration which are kept in config/local.cfg. Any sensitive
+information should be placed in the local configuration file, not in
+the public repository.
+
+For connecting SVN author names to emails, there is also a required
+config/llvmauthors.cfg file which should provide the mapping.

Added: zorg/trunk/buildbot/klee/master/buildbot.tac
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/buildbot.tac?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/buildbot.tac (added)
+++ zorg/trunk/buildbot/klee/master/buildbot.tac Sun Jun 13 16:01:51 2010
@@ -0,0 +1,10 @@
+from twisted.application import service
+from buildbot.master import BuildMaster
+import os
+
+basedir = os.path.dirname(os.path.abspath(__file__))
+configfile = r'master.cfg'
+
+application = service.Application('buildmaster')
+BuildMaster(basedir, configfile).setServiceParent(application)
+

Added: zorg/trunk/buildbot/klee/master/config/__init__.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/config/__init__.py?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/config/__init__.py (added)
+++ zorg/trunk/buildbot/klee/master/config/__init__.py Sun Jun 13 16:01:51 2010
@@ -0,0 +1,9 @@
+import builders
+import slaves
+import status
+
+# Load local options.
+import os
+import ConfigParser
+options = ConfigParser.RawConfigParser()
+options.read(os.path.join(os.path.dirname(__file__), 'local.cfg'))

Added: zorg/trunk/buildbot/klee/master/config/builders.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/config/builders.py?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/config/builders.py (added)
+++ zorg/trunk/buildbot/klee/master/config/builders.py Sun Jun 13 16:01:51 2010
@@ -0,0 +1,16 @@
+from zorg.buildbot.builders import LLVMBuilder
+reload(LLVMBuilder)
+from zorg.buildbot.builders import LLVMBuilder
+
+def _get_linux_builders():
+    return [
+        {'name': "klee-x86_64-linux",
+         'slavenames': ["klee.minormatter.com"],
+         'builddir': "build.klee-x86_64-linux", 
+         'factory': LLVMBuilder.getLLVMBuildFactory("x86_64-pc-linux-gnu", jobs=2)},
+        ]
+
+def get_builders():
+    for b in _get_linux_builders():
+        b['category'] = 'linux'
+        yield b

Added: zorg/trunk/buildbot/klee/master/config/slaves.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/config/slaves.py?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/config/slaves.py (added)
+++ zorg/trunk/buildbot/klee/master/config/slaves.py Sun Jun 13 16:01:51 2010
@@ -0,0 +1,13 @@
+import buildbot
+import os
+
+import config
+
+def create_slave(name, *args, **kwargs):
+    password = config.options.get('Slave Passwords', name)
+    return buildbot.buildslave.BuildSlave(name, password=password, *args, **kwargs)
+
+def get_build_slaves():
+    return [
+        create_slave("klee.minormatter.com", properties={'jobs' : 2}, max_builds=1),
+        ]

Added: zorg/trunk/buildbot/klee/master/config/status.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/config/status.py?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/config/status.py (added)
+++ zorg/trunk/buildbot/klee/master/config/status.py Sun Jun 13 16:01:51 2010
@@ -0,0 +1,38 @@
+import os
+import buildbot
+import buildbot.status.html
+import buildbot.status.mail
+import buildbot.status.words
+
+import config
+from zorg.buildbot.util.ConfigEmailLookup import ConfigEmailLookup
+
+from buildbot.status.web import auth, authz
+authz_cfg=authz.Authz(
+    gracefulShutdown = False,
+    forceBuild = False,
+    forceAllBuilds = False,
+    pingBuilder = False,
+    stopBuild = False,
+    stopAllBuilds = False,
+    cancelPendingBuild = False,
+)
+
+def get_status_targets(standard_builders):
+    default_email = config.options.get('Master Options', 'default_email')
+    return [
+        buildbot.status.html.WebStatus(
+            http_port = 8010, authz=authz_cfg),
+        buildbot.status.mail.MailNotifier(
+            fromaddr = "klee-buildmaster at klee.minormatter.com",
+            extraRecipients = [default_email],
+            lookup = ConfigEmailLookup(os.path.join(os.path.dirname(__file__),
+                                                    "llvmauthors.cfg"),
+                                       default_email),
+            mode = "problem",
+            builders = standard_builders),
+        buildbot.status.words.IRC(
+            host = "irc.oftc.net", nick = "kleebb", channels = ["#klee"],
+            allowForce = True,
+            notify_events = ['successToFailure', 'failureToSuccess']),
+        ]

Added: zorg/trunk/buildbot/klee/master/master.cfg
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/master.cfg?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/master.cfg (added)
+++ zorg/trunk/buildbot/klee/master/master.cfg Sun Jun 13 16:01:51 2010
@@ -0,0 +1,120 @@
+1# -*- python -*-
+# ex: set syntax=python:
+
+# Extend paths to allow loading zorg and config modules.
+import os, sys
+path = os.path.join(os.environ.get('HOME'), 'zorg', 'buildbot', 'klee', 'master')
+if path not in sys.path:
+  sys.path.append(path)
+path = os.path.join(os.environ.get('HOME'), 'zorg')
+if path not in sys.path:
+  sys.path.append(path)
+
+# This is the dictionary that the buildmaster pays attention to. We also use
+# a shorter alias to save typing.
+c = BuildmasterConfig = {}
+
+import config
+
+# Reload stuff automatically.
+#
+# FIXME: Find better way.
+reload(config.slaves)
+reload(config.builders)
+reload(config.status)
+reload(config)
+
+import config
+
+####### DB URL
+
+# This specifies what database buildbot uses to store change and scheduler
+# state.
+c['db_url'] = "sqlite:///state.sqlite"
+
+####### BUILDSLAVES
+
+c['slaves'] = config.slaves.get_build_slaves()
+c['slavePortnum'] = 9990
+
+####### CHANGESOURCES
+
+from buildbot.changes.svnpoller import SVNPoller
+from buildbot.changes.pb import PBChangeSource
+
+import buildbot.changes.svnpoller
+
+class LLVMPoller(buildbot.changes.svnpoller.SVNPoller):
+  def __init__(self, project, pollinterval=120, histmax=10):
+    buildbot.changes.svnpoller.SVNPoller.__init__(self, 
+                                                  'http://llvm.org/svn/llvm-project/%s' % project,
+                                                  pollinterval=pollinterval,
+                                                  histmax=histmax,
+                                                  revlinktmpl='http://llvm.org/viewvc/llvm-project/?view=rev&revision=%s')
+c['change_source'] = [PBChangeSource()]
+if True:
+  c['change_source'].append(LLVMPoller("klee/trunk"))
+
+####### BUILDERS
+
+c['builders'] = builders = list(config.builders.get_builders())
+
+####### STATUS TARGETS
+
+# Schedule builds and email for all non-experimental builders.
+standard_builders = [b['name'] for b in builders
+                     if not b['category'].endswith('.exp')]
+c['status'] = config.status.get_status_targets(standard_builders)
+
+####### RESOURCE USAGE
+
+# Number of build records to maintain per builder.
+c['buildHorizon'] = 1000
+
+# Number of logs to maintain per builder.
+c['logHorizon'] = 100
+
+# Number of events (connect, disconnect, etc.) to maintain.
+c['eventHorizon'] = 100
+
+# Number of builds to cache in memory.
+c['buildCacheSize'] = 1000
+
+####### SCHEDULERS
+
+from buildbot.scheduler import Scheduler
+c['schedulers'] = [Scheduler(name="all",branch=None,
+                             treeStableTimer=2*60,
+                             builderNames=standard_builders)]
+
+####### PROJECT IDENTITY
+
+c['projectName'] = "klee"
+c['projectURL'] = "http://klee.llvm.org/"
+c['buildbotURL'] = "http://klee.minormatter.com:8010/"
+
+####### DEBUGGING OPTIONS
+
+# If you set 'debugPassword', then you can connect to the buildmaster
+# with the diagnostic tool in contrib/debugclient.py . From this tool,
+# you can manually force builds and inject changes, which may be
+# useful for testing your buildmaster without actually commiting
+# changes to your repository (or before you have a functioning
+# 'sources' set up). The debug tool uses the same port number as the
+# slaves do: 'slavePortnum'.
+c['debugPassword'] = config.options.get('Master Options', 'debug_password')
+
+# If you set 'manhole', you can ssh into the buildmaster and get an
+# interactive python shell, which may be useful for debugging buildbot
+# internals. It is probably only useful for buildbot developers. You
+# can also use an authorized_keys file, or plain telnet.
+if config.options.getboolean('Master Options', 'enable_manhole'):
+  from buildbot import manhole
+  c['manhole'] = manhole.PasswordManhole(config.options.get('Master Options', 'manhole_port'),
+                                         config.options.get('Master Options', 'manhole_user'),
+                                         config.options.get('Master Options', 'manhole_password'))
+
+# from buildbot.scheduler import Try_Userpass
+# s = Try_Userpass("try", ["llvm-x86_64-linux"], port=8032,
+#                  userpass=[("llvmpatch","patchtest")] )
+# c['schedulers'].append(s)

Added: zorg/trunk/buildbot/klee/master/public_html/bg_gradient.jpg
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/public_html/bg_gradient.jpg?rev=105924&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zorg/trunk/buildbot/klee/master/public_html/bg_gradient.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zorg/trunk/buildbot/klee/master/public_html/buildbot.css
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/public_html/buildbot.css?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/public_html/buildbot.css (added)
+++ zorg/trunk/buildbot/klee/master/public_html/buildbot.css Sun Jun 13 16:01:51 2010
@@ -0,0 +1,398 @@
+body {
+	margin-bottom:50px;
+}
+
+body, td {
+	font-family: Verdana, Cursor;
+	font-size: 10px;
+	font-weight: bold;
+}
+
+a:link,a:visited,a:active {
+	color: #444;
+}
+
+a:hover {
+	color: #000000;
+}
+
+table {
+	border-spacing: 1px 1px;
+}
+
+table td {
+	padding: 3px 0px 3px 0px;
+	text-align: center;
+}
+
+.Project {
+	width: 100px;
+}
+
+.LastBuild, .Activity {
+	padding: 0 0 0 4px;
+}
+
+.LastBuild, .Activity, .Builder, .BuildStep {
+        width: 155px;
+        max-width: 155px;
+}
+
+td.Time {
+	color: #000;
+	border-bottom: 1px solid #aaa;
+	background-color: #eee;
+}
+
+td.Activity, td.Change, td.Builder {
+	color: #333333;
+	background-color: #CCCCCC;
+}
+
+td.Change {
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+}
+td.Event {
+	color: #777;
+	background-color: #ddd;
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+}
+
+td.Activity {
+	border-top-left-radius: 10px;
+	-webkit-border-top-left-radius: 10px;
+	-moz-border-radius-topleft: 10px;
+	min-height: 20px;
+	padding: 2px 0 2px 0;
+}
+
+td.idle, td.waiting, td.offline, td.building {
+	border-top-left-radius: 0px;
+	-webkit-border-top-left-radius: 0px;
+	-moz-border-radius-topleft: 0px;
+}
+
+.LastBuild {
+	border-top-left-radius: 5px;
+	-webkit-border-top-left-radius: 5px;
+	-moz-border-radius-topleft: 5px;
+	border-top-right-radius: 5px;
+	-webkit-border-top-right-radius: 5px;
+	-moz-border-radius-topright: 5px;
+}
+
+/* Console view styles */
+
+td.DevRev {
+        padding: 4px 8px 4px 8px;
+        color: #333333;
+        border-top-left-radius: 5px;
+        -webkit-border-top-left-radius: 5px;
+        -moz-border-radius-topleft: 5px;
+        background-color: #eee;
+        width: 1%;
+}
+
+td.DevRevCollapse {
+        border-bottom-left-radius: 5px;
+        -webkit-border-bottom-left-radius: 5px;
+        -moz-border-radius-bottomleft: 5px;
+}
+
+td.DevName {
+        padding: 4px 8px 4px 8px;
+        color: #333333;
+        background-color: #eee;
+        width: 1%;
+        text-align: left;
+}
+
+td.DevStatus {
+        padding: 4px 4px 4px 4px;
+        color: #333333;
+        background-color: #eee;
+}
+
+td.DevSlave {
+        padding: 4px 4px 4px 4px;
+        color: #333333;
+        background-color: #eee;
+}
+
+td.first {
+        border-top-left-radius: 5px;
+        -webkit-border-top-left-radius: 5px;
+        -moz-border-radius-topleft: 5px;
+}
+
+td.last {
+        border-top-right-radius: 5px;
+        -webkit-border-top-right-radius: 5px;
+        -moz-border-radius-topright: 5px;
+}
+
+td.DevStatusCategory {
+        border-radius: 5px;
+        -webkit-border-radius: 5px;
+        -moz-border-radius: 5px;
+        border-width:1px;
+        border-style:solid;
+}
+
+td.DevStatusCollapse {
+        border-bottom-right-radius: 5px;
+        -webkit-border-bottom-right-radius: 5px;
+        -moz-border-radius-bottomright: 5px;
+}
+
+td.DevDetails {
+        font-weight: normal;
+        padding: 8px 8px 8px 8px;
+        color: #333333;
+        background-color: #eee;
+        text-align: left;
+}
+
+td.DevComment {
+        font-weight: normal;
+        padding: 8px 8px 8px 8px;
+        color: #333333;
+        border-bottom-right-radius: 5px;
+        -webkit-border-bottom-right-radius: 5px;
+        -moz-border-radius-bottomright: 5px;
+        border-bottom-left-radius: 5px;
+        -webkit-border-bottom-left-radius: 5px;
+        -moz-border-radius-bottomleft: 5px;
+        background-color: #eee;
+        text-align: left;
+}
+.DevCommentDate {
+        float: right;
+        font-style: italic;
+}
+
+td.Alt {
+        background-color: #CCCCCC;
+}
+
+.legend {
+        border-radius: 5px;
+        -webkit-border-radius: 5px;
+        -moz-border-radius: 5px;
+        width: 100px;
+        max-width: 100px;
+        text-align:center;
+        padding: 2px 2px 2px 2px;
+        height:14px;
+        white-space:nowrap;
+}
+
+.DevStatusBox {
+        text-align:center;
+        height:20px;
+        padding:0 2px;
+        line-height:0;
+        white-space:nowrap;
+}
+
+.DevStatusBox a {
+        opacity: 0.85;
+        border-width:1px;
+        border-style:solid;
+        border-radius: 4px;
+        -webkit-border-radius: 4px;
+        -moz-border-radius: 4px;
+        display:block;
+        width:90%;
+        height:20px;
+        line-height:20px;
+        margin-left: auto;
+        margin-right: auto;
+}
+
+.DevSlaveBox {
+        text-align:center;
+        height:10px;
+        padding:0 2px;
+        line-height:0;
+        white-space:nowrap;
+}
+
+.DevSlaveBox a {
+        opacity: 0.85;
+        border-width:1px;
+        border-style:solid;
+        border-radius: 4px;
+        -webkit-border-radius: 4px;
+        -moz-border-radius: 4px;
+        display:block;
+        width:90%;
+        height:10px;
+        line-height:20px;
+        margin-left: auto;
+        margin-right: auto;
+}
+
+a.noround {
+        border-radius: 0px;
+        -webkit-border-radius: 0px;
+        -moz-border-radius: 0px;
+        position: relative;
+        margin-top: -8px;
+        margin-bottom: -8px;
+        height: 36px;
+        border-top-width: 0;
+        border-bottom-width: 0;
+}
+
+a.begin {
+        border-top-width:1px;
+        position: relative;
+        margin-top: 0px;
+        margin-bottom: -7px;
+        height: 27px;
+	border-top-left-radius: 4px;
+	-webkit-border-top-left-radius: 4px;
+        -moz-border-radius-topleft: 4px;
+	border-top-right-radius: 4px;
+	-webkit-border-top-right-radius: 4px;
+        -moz-border-radius-topright: 4px;
+}
+
+a.end {
+        border-bottom-width:1px;
+        position: relative;
+        margin-top: -7px;
+        margin-bottom: 0px;
+        height: 27px;
+	border-bottom-left-radius: 4px;
+	-webkit-border-bottom-left-radius: 4px;
+        -moz-border-radius-bottomleft: 4px;
+	border-bottom-right-radius: 4px;
+	-webkit-border-bottom-right-radius: 4px;
+        -moz-border-radius-bottomright: 4px;
+}
+
+.center_align {
+        text-align: center;
+}
+
+.right_align {
+        text-align: right;
+}
+
+.left_align {
+        text-align: left;
+}
+
+div.BuildWaterfall {
+	border-radius: 7px;
+	-webkit-border-radius: 7px;
+	-moz-border-radius: 7px;
+        position: absolute;
+        left: 0px;
+        top: 0px;
+        background-color: #FFFFFF;
+        padding: 4px 4px 4px 4px;
+        float: left;
+        display: none;
+        border-width: 1px;
+        border-style: solid;
+}
+
+/* LastBuild, BuildStep states */
+.success {
+	color: #FFFFFF;
+	background-color: #8fdf5f;
+        border-color: #4F8530;
+}
+.success.Alt {
+	background-color: #6fbf3f;
+}
+
+.failure {
+	color: #FFFFFF;
+	background-color: #e98080;
+        border-color: #A77272;
+}
+.failure.Alt {
+	background-color: #c96060;
+}
+
+.warnings {
+	color: #FFFFFF;
+	background-color: #ffc343;
+        border-color: #C29D46;
+}
+.warnings.Alt {
+	background-color: #dfa323;
+}
+
+.exception, td.offline {
+	color: #FFFFFF;
+	background-color: #e0b0ff;
+        border-color: #ACA0B3;
+}
+.exception.Alt {
+	background-color: #c090df;
+}
+
+.start,.running, td.building {
+	color: #666666;
+	background-color: #fffc6c;
+        border-color: #C5C56D;
+}
+
+.start {
+	border-bottom-left-radius: 10px;
+	-webkit-border-bottom-left-radius: 10px;
+	-moz-border-radius-bottomleft: 10px;
+	border-bottom-right-radius: 10px;
+	-webkit-border-bottom-right-radius: 10px;
+	-moz-border-radius-bottomright: 10px;
+}
+
+.notstarted {
+        border-width:1px;
+        border-style:solid;
+        border-color:#aaa;
+}
+
+td.Project a:hover, td.start a:hover {
+        color: #000;
+}
+
+/* grid styles */
+
+table.Grid {
+        border-collapse: collapse;
+}
+
+table.Grid tr td {
+        padding: 0.2em;
+        margin: 0px;
+        text-align: center;
+}
+
+table.Grid tr td.title {
+        font-size: 90%;
+        border-right: 1px gray solid;
+        border-bottom: 1px gray solid;
+}
+
+table.Grid tr td.sourcestamp {
+        font-size: 90%;
+}
+
+table.Grid tr td.builder {
+        text-align: right;
+        font-size: 90%;
+}
+
+table.Grid tr td.build {
+        border: 1px gray solid;
+}

Added: zorg/trunk/buildbot/klee/master/public_html/default.css
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/public_html/default.css?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/public_html/default.css (added)
+++ zorg/trunk/buildbot/klee/master/public_html/default.css Sun Jun 13 16:01:51 2010
@@ -0,0 +1,531 @@
+body.interface {
+	margin-left: 30px;
+	margin-right: 30px;
+	margin-top: 20px;
+	margin-bottom: 50px;
+	padding: 0;
+	background: url(bg_gradient.jpg) repeat-x;
+	font-family: Verdana, Cursor;
+	font-size: 10px;
+	font-weight: bold;
+	background-color: #fff;
+	color: #333;
+}
+
+a:link,a:visited,a:active {
+	color: #444;
+}
+
+table {
+	border-spacing: 1px 1px;
+}
+
+table td {
+	padding: 3px 2px 3px 2px;
+	text-align: center;
+}
+
+.Project {
+	min-width: 6em;
+}
+
+.LastBuild,.Activity {
+	padding: 0 0 0 4px;
+}
+
+.LastBuild,.Activity,.Builder,.BuildStep {
+	width: 15em;
+	min-width: 15em;
+}
+
+/* Chromium Specific styles */
+div.BuildResultInfo {
+	color: #444;
+}
+
+div.Announcement {
+	margin-bottom: 1em;
+}
+
+div.Announcement>a:hover {
+	color: black;
+}
+
+div.Announcement>div.Notice {
+	background-color: #afdaff;
+	padding: 0.5em;
+	font-size: 16px;
+	text-align: center;
+}
+
+div.Announcement>div.Open {
+	border: 3px solid #8fdf5f;
+	padding: 0.5em;
+	font-size: 16px;
+	text-align: center;
+}
+
+div.Announcement>div.Closed {
+	border: 5px solid #e98080;
+	padding: 0.5em;
+	font-size: 24px;
+	font-weight: bold;
+	text-align: center;
+}
+
+td.Time {
+	color: #000;
+	border-bottom: 1px solid #aaa;
+	background-color: #eee;
+}
+
+td.Activity,td.Change,td.Builder {
+	color: #333333;
+	background-color: #CCCCCC;
+}
+
+td.Change {
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+}
+
+td.Event {
+	color: #777;
+	background-color: #ddd;
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+}
+
+td.Activity {
+	border-top-left-radius: 10px;
+	-webkit-border-top-left-radius: 10px;
+	-moz-border-radius-topleft: 10px;
+	min-height: 20px;
+	padding: 2px 0 2px 0;
+}
+
+td.idle,td.waiting,td.offline,td.building {
+	border-top-left-radius: 0px;
+	-webkit-border-top-left-radius: 0px;
+	-moz-border-radius-topleft: 0px;
+}
+
+.LastBuild {
+	border-top-left-radius: 5px;
+	-webkit-border-top-left-radius: 5px;
+	-moz-border-radius-topleft: 5px;
+	border-top-right-radius: 5px;
+	-webkit-border-top-right-radius: 5px;
+	-moz-border-radius-topright: 5px;
+}
+
+/* Console view styles */
+td.DevRev {
+	padding: 4px 8px 4px 8px;
+	color: #333333;
+	border-top-left-radius: 5px;
+	-webkit-border-top-left-radius: 5px;
+	-moz-border-radius-topleft: 5px;
+	background-color: #eee;
+	width: 1%;
+}
+
+td.DevRevCollapse {
+	border-bottom-left-radius: 5px;
+	-webkit-border-bottom-left-radius: 5px;
+	-moz-border-radius-bottomleft: 5px;
+}
+
+td.DevName {
+	padding: 4px 8px 4px 8px;
+	color: #333333;
+	background-color: #eee;
+	width: 1%;
+	text-align: left;
+}
+
+td.DevStatus {
+	padding: 4px 4px 4px 4px;
+	color: #333333;
+	background-color: #eee;
+}
+
+td.DevSlave {
+	padding: 4px 4px 4px 4px;
+	color: #333333;
+	background-color: #eee;
+}
+
+td.first {
+	border-top-left-radius: 5px;
+	-webkit-border-top-left-radius: 5px;
+	-moz-border-radius-topleft: 5px;
+}
+
+td.last {
+	border-top-right-radius: 5px;
+	-webkit-border-top-right-radius: 5px;
+	-moz-border-radius-topright: 5px;
+}
+
+td.DevStatusCategory {
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	border-width: 1px;
+	border-style: solid;
+}
+
+td.DevStatusCollapse {
+	border-bottom-right-radius: 5px;
+	-webkit-border-bottom-right-radius: 5px;
+	-moz-border-radius-bottomright: 5px;
+}
+
+td.DevDetails {
+	font-weight: normal;
+	padding: 8px 8px 8px 8px;
+	color: #333333;
+	background-color: #eee;
+	text-align: left;
+}
+
+td.DevComment {
+	font-weight: normal;
+	padding: 8px 8px 8px 8px;
+	color: #333333;
+	border-bottom-right-radius: 5px;
+	-webkit-border-bottom-right-radius: 5px;
+	-moz-border-radius-bottomright: 5px;
+	border-bottom-left-radius: 5px;
+	-webkit-border-bottom-left-radius: 5px;
+	-moz-border-radius-bottomleft: 5px;
+	background-color: #eee;
+	text-align: left;
+}
+
+td.Alt {
+	background-color: #ddd;
+}
+
+.legend {
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	width: 100px;
+	max-width: 100px;
+	text-align: center;
+	padding: 2px 2px 2px 2px;
+	height: 14px;
+	white-space: nowrap;
+}
+
+.DevStatusBox {
+	text-align: center;
+	height: 20px;
+	padding: 0 2px;
+	line-height: 0;
+	white-space: nowrap;
+}
+
+.DevStatusBox a {
+	opacity: 0.85;
+	border-width: 1px;
+	border-style: solid;
+	border-radius: 4px;
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	display: block;
+	width: 90%;
+	height: 20px;
+	line-height: 20px;
+	margin-left: auto;
+	margin-right: auto;
+}
+
+.DevSlaveBox {
+	text-align: center;
+	height: 10px;
+	padding: 0 2px;
+	line-height: 0;
+	white-space: nowrap;
+}
+
+.DevSlaveBox a {
+	opacity: 0.85;
+	border-width: 1px;
+	border-style: solid;
+	border-radius: 4px;
+	-webkit-border-radius: 4px;
+	-moz-border-radius: 4px;
+	display: block;
+	width: 90%;
+	height: 10px;
+	line-height: 20px;
+	margin-left: auto;
+	margin-right: auto;
+}
+
+a.noround {
+	border-radius: 0px;
+	-webkit-border-radius: 0px;
+	-moz-border-radius: 0px;
+	position: relative;
+	margin-top: -8px;
+	margin-bottom: -8px;
+	height: 36px;
+	border-top-width: 0;
+	border-bottom-width: 0;
+}
+
+a.begin {
+	border-top-width: 1px;
+	position: relative;
+	margin-top: 0px;
+	margin-bottom: -7px;
+	height: 27px;
+	border-top-left-radius: 4px;
+	-webkit-border-top-left-radius: 4px;
+	-moz-border-radius-topleft: 4px;
+	border-top-right-radius: 4px;
+	-webkit-border-top-right-radius: 4px;
+	-moz-border-radius-topright: 4px;
+}
+
+a.end {
+	border-bottom-width: 1px;
+	position: relative;
+	margin-top: -7px;
+	margin-bottom: 0px;
+	height: 27px;
+	border-bottom-left-radius: 4px;
+	-webkit-border-bottom-left-radius: 4px;
+	-moz-border-radius-bottomleft: 4px;
+	border-bottom-right-radius: 4px;
+	-webkit-border-bottom-right-radius: 4px;
+	-moz-border-radius-bottomright: 4px;
+}
+
+.center_align {
+	text-align: center;
+}
+
+.right_align {
+	text-align: right;
+}
+
+.left_align {
+	text-align: left;
+}
+
+div.BuildWaterfall {
+	border-radius: 7px;
+	-webkit-border-radius: 7px;
+	-moz-border-radius: 7px;
+	position: absolute;
+	left: 0px;
+	top: 0px;
+	background-color: #FFFFFF;
+	padding: 4px 4px 4px 4px;
+	float: left;
+	display: none;
+	border-width: 1px;
+	border-style: solid;
+}
+
+/* LastBuild, BuildStep states */
+.success {
+	color: #FFFFFF;
+	background-color: #8f8;
+	border-color: #4F8530;
+}
+
+.failure {
+	color: #FFFFFF;
+	background-color: #f99;
+	border-color: #A77272;
+}
+
+.warnings {
+	color: #FFFFFF;
+	background-color: #ffc343;
+	border-color: #C29D46;
+}
+
+.exception {
+	color: #FFFFFF;
+	background-color: #f6f;
+	border-color: #ACA0B3;
+}
+
+.start,.running,td.building {
+	color: #666666;
+	background-color: #ff6;
+	border-color: #C5C56D;
+}
+
+.offline,td.offline {
+    color: #FFFFFF;
+    background-color: #777777;
+    border-color: #dddddd;
+}
+
+
+.start {
+	border-bottom-left-radius: 10px;
+	-webkit-border-bottom-left-radius: 10px;
+	-moz-border-radius-bottomleft: 10px;
+	border-bottom-right-radius: 10px;
+	-webkit-border-bottom-right-radius: 10px;
+	-moz-border-radius-bottomright: 10px;
+}
+
+.notstarted {
+	border-width: 1px;
+	border-style: solid;
+	border-color: #aaa;
+    background-color: #fff;
+}
+
+.closed {
+	background-color: #ff0000;
+}
+
+.closed .large {
+	font-size: 1.5em;
+	font-weight: bolder;
+}
+
+td.Project a:hover,td.start a:hover {
+	color: #000;
+}
+
+.mini-box {
+	text-align: center;
+	height: 20px;
+	padding: 0 2px;
+	line-height: 0;
+	white-space: nowrap;
+}
+
+.mini-box a {
+	border-radius: 0;
+	-webkit-border-radius: 0;
+	-moz-border-radius: 0;
+	display: block;
+	width: 100%;
+	height: 20px;
+	line-height: 20px;
+	margin-top: -30px;
+}
+
+.mini-closed {
+	-box-sizing: border-box;
+	-webkit-box-sizing: border-box;
+	border: 4px solid red;
+}
+
+/* grid styles */
+table.Grid {
+	border-collapse: collapse;
+}
+
+table.Grid tr td {
+	padding: 0.2em;
+	margin: 0px;
+	text-align: center;
+}
+
+table.Grid tr td.title {
+	font-size: 90%;
+	border-right: 1px gray solid;
+	border-bottom: 1px gray solid;
+}
+
+table.Grid tr td.sourcestamp {
+	font-size: 90%;
+}
+
+table.Grid tr td.builder {
+	text-align: right;
+	font-size: 90%;
+}
+
+table.Grid tr td.build {
+	border: 1px gray solid;
+}
+
+/* column container */
+div.column {
+	margin: 0 2em 2em 0;
+	float: left;
+}
+
+/* info tables */
+table.info {
+	border-spacing: 1px;
+}
+
+table.info td {
+	padding: 0.1em 1em 0.1em 1em;
+	text-align: center;
+}
+
+table.info th {
+	padding: 0.2em 1.5em 0.2em 1.5em;
+	text-align: center;
+}
+
+table.info td.left {
+	text-align: left
+}
+
+.alt {
+	background-color: #f6f6f6;
+}
+
+li {
+	padding: 0.1em 1em 0.1em 1em;
+}
+
+.result {
+	padding: 0.3em 1em 0.3em 1em;
+}
+
+/* log view */
+.log * {
+	vlink: #800080;
+	font-family: "Courier New", courier, monotype;
+}
+
+span.stdout {
+	color: black;
+}
+
+span.stderr {
+	color: red;
+}
+
+span.header {
+	color: blue;
+}
+
+/* revision & email */
+.revision .full {
+	display: none;
+}
+
+.user .email {
+	display: none;
+}
+
+/* change comments (use regular colors here) */
+pre.comments>a:link,pre.comments>a:visited {
+	color: blue;
+}
+
+pre.comments>a:active {
+	color: purple;
+}

Added: zorg/trunk/buildbot/klee/master/public_html/favicon.ico
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/public_html/favicon.ico?rev=105924&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zorg/trunk/buildbot/klee/master/public_html/favicon.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zorg/trunk/buildbot/klee/master/public_html/robots.txt
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/public_html/robots.txt?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/public_html/robots.txt (added)
+++ zorg/trunk/buildbot/klee/master/public_html/robots.txt Sun Jun 13 16:01:51 2010
@@ -0,0 +1,11 @@
+User-agent: *
+Disallow: /waterfall
+Disallow: /builders
+Disallow: /changes
+Disallow: /buildslaves
+Disallow: /schedulers
+Disallow: /one_line_per_build
+Disallow: /builders
+Disallow: /xmlrpc
+Disallow: /grid
+Disallow: /tgrid

Added: zorg/trunk/buildbot/klee/master/templates/root.html
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/master/templates/root.html?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/master/templates/root.html (added)
+++ zorg/trunk/buildbot/klee/master/templates/root.html Sun Jun 13 16:01:51 2010
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+<title>Welcome to the Buildbot</title>
+<link type="text/css" rel="stylesheet" href="buildbot.css">
+</head>
+
+<body>
+<h1>Welcome to the Buildbot!</h1>
+
+<b>Recent Buildbot Activity:</b>
+<ul>
+  <li><a href="waterfall">Waterfall Display</a>: Time oriented summary</li>
+  <li><a href="console">Console Display</a>: Revision oriented summary</li>
+  <li><a href="grid">Grid Display</a></li>
+  <li><a href="tgrid">Transposed Grid Display</a></li>
+</ul>
+
+<b>Build Lists:</b>
+<ul>
+  <li><a href="one_box_per_builder">Latest Build</a></li>
+  <li><a href="one_line_per_build">Recent Builds</a></li>
+</ul>
+
+<b>Buildbot Information:</b>
+<ul>
+  <li><a href="buildslaves">Buildslave</a> information</li>
+  <li><a href="changes">ChangeSource</a> information.</li>
+  <br/>
+  <li><a href="about">About this Buildbot</a></li>
+</ul>
+
+
+</body> </html>

Added: zorg/trunk/buildbot/klee/slave/Makefile
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/slave/Makefile?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/slave/Makefile (added)
+++ zorg/trunk/buildbot/klee/slave/Makefile Sun Jun 13 16:01:51 2010
@@ -0,0 +1,32 @@
+# -*- makefile -*-
+
+# This is a simple makefile which lives in a buildmaster/buildslave
+# directory (next to the buildbot.tac file). It allows you to start/stop the
+# master or slave in a launchd-friendly way by doing 'make start' or 'make stop'
+# and includes some other targets for convenience.
+
+start:
+	launchctl start org.llvm.klee.slave
+
+start-standalone:
+	/usr/bin/twistd \
+	  --nodaemon \
+	  --python=buildbot.tac \
+	  --logfile=twistd.log \
+	  --prefix=klee
+
+# This stops the buildbot cleanly so launchd will not restart it, use
+# 'make start' to restart it correctly via launchctl
+stop:
+	buildbot stop .	
+
+restart: stop start
+
+# Reloads the master.cfg and associated files.
+sighup:
+	buildbot sighup .	
+
+reconfig: sighup
+
+checkconfig:
+	buildbot checkconfig

Added: zorg/trunk/buildbot/klee/slave/buildbot.tac
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/slave/buildbot.tac?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/slave/buildbot.tac (added)
+++ zorg/trunk/buildbot/klee/slave/buildbot.tac Sun Jun 13 16:01:51 2010
@@ -0,0 +1,26 @@
+# -*- Python -*-
+
+from twisted.application import service
+from buildbot.slave.bot import BuildSlave
+import os, sys
+
+basedir = os.path.dirname(os.path.abspath(__file__))
+
+# Allow finding klee module.
+sys.path.append(os.path.join(basedir, "../.."))
+
+# Import klee to get configuration info.
+import klee
+
+buildmaster_host = klee.Config.getBuildmasterHost()
+port = klee.Config.getBuildmasterPort()
+slavename = klee.Config.getBuildslaveName()
+passwd = klee.Config.getBuildslavePassword()
+keepalive = 600
+usepty = 1
+umask = None
+
+application = service.Application('buildslave')
+s = BuildSlave(buildmaster_host, port, slavename, passwd, basedir,
+               keepalive, usepty, umask=umask)
+s.setServiceParent(application)

Added: zorg/trunk/buildbot/klee/slave/info/admin
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/slave/info/admin?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/slave/info/admin (added)
+++ zorg/trunk/buildbot/klee/slave/info/admin Sun Jun 13 16:01:51 2010
@@ -0,0 +1 @@
+KLEE Buildslave <klee-commits at keeda.llvm.org>

Added: zorg/trunk/buildbot/klee/slave/info/host
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/slave/info/host?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/slave/info/host (added)
+++ zorg/trunk/buildbot/klee/slave/info/host Sun Jun 13 16:01:51 2010
@@ -0,0 +1 @@
+INSERT YOUR HOST INFORMATION HERE

Added: zorg/trunk/buildbot/klee/slave/org.llvm.klee.slave.plist
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/klee/slave/org.llvm.klee.slave.plist?rev=105924&view=auto
==============================================================================
--- zorg/trunk/buildbot/klee/slave/org.llvm.klee.slave.plist (added)
+++ zorg/trunk/buildbot/klee/slave/org.llvm.klee.slave.plist Sun Jun 13 16:01:51 2010
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+         <key>Label</key>
+         <string>org.llvm.klee.slave</string>
+
+         <!-- Change this to the user you want to run buildbot as -->
+         <key>UserName</key>
+         <string>buildslave</string>
+
+         <!-- Change this to your buildbot working directory -->
+         <key>WorkingDirectory</key>
+         <string>/Users/buildslave/zorg/buildbot/klee/slave</string>
+
+         <key>ProgramArguments</key>
+         <array>
+                 <string>/usr/bin/twistd</string>
+                 <string>--nodaemon</string>
+                 <string>--python=buildbot.tac</string>
+                 <string>--logfile=twistd.log</string>
+                 <string>--prefix=klee</string>
+         </array>
+
+         <key>KeepAlive</key>
+         <dict>
+                 <key>SuccessfulExit</key>
+                 <false/>
+         </dict>
+
+         <key>RunAtLoad</key>
+         <true/>
+
+        <dict>
+                <key>NumberOfFiles</key>
+                <integer>1024</integer>
+        </dict>
+	<key>HardResourceLimits</key>
+        <dict>
+                <key>NumberOfFiles</key>
+                <integer>1024</integer>
+        </dict>
+</dict>
+</plist>





More information about the llvm-commits mailing list