[llvm-commits] [zorg] r96124 - in /zorg/trunk/buildbot/osuosl: Config.py master/ master/README.txt master/buildbot.tac master/config/ master/config/__init__.py master/config/builders.py master/config/slaves.py master/config/status.py master/master.cfg master/public_html/ master/public_html/buildbot.css master/public_html/buildbot.css.extended master/public_html/index.html master/public_html/robots.txt

Daniel Dunbar daniel at zuster.org
Sat Feb 13 14:23:24 PST 2010


Author: ddunbar
Date: Sat Feb 13 16:23:23 2010
New Revision: 96124

URL: http://llvm.org/viewvc/llvm-project?rev=96124&view=rev
Log:
Add OSUOSL buildbot configuration, for increased transparency of buildbot.


Added:
    zorg/trunk/buildbot/osuosl/master/   (with props)
    zorg/trunk/buildbot/osuosl/master/README.txt
    zorg/trunk/buildbot/osuosl/master/buildbot.tac
    zorg/trunk/buildbot/osuosl/master/config/   (with props)
    zorg/trunk/buildbot/osuosl/master/config/__init__.py
    zorg/trunk/buildbot/osuosl/master/config/builders.py
    zorg/trunk/buildbot/osuosl/master/config/slaves.py
    zorg/trunk/buildbot/osuosl/master/config/status.py
    zorg/trunk/buildbot/osuosl/master/master.cfg
    zorg/trunk/buildbot/osuosl/master/public_html/
    zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css
    zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css.extended
    zorg/trunk/buildbot/osuosl/master/public_html/index.html
    zorg/trunk/buildbot/osuosl/master/public_html/robots.txt
Modified:
    zorg/trunk/buildbot/osuosl/Config.py

Modified: zorg/trunk/buildbot/osuosl/Config.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/Config.py?rev=96124&r1=96123&r2=96124&view=diff

==============================================================================
--- zorg/trunk/buildbot/osuosl/Config.py (original)
+++ zorg/trunk/buildbot/osuosl/Config.py Sat Feb 13 16:23:23 2010
@@ -20,7 +20,7 @@
     return 'llvmbb'
 
 def getBuildmasterWebPort():
-    return 8010
+    return 8011
 
 def shouldTrackChanges():
     return True

Propchange: zorg/trunk/buildbot/osuosl/master/

------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Feb 13 16:23:23 2010
@@ -0,0 +1,6 @@
+llvm-*
+clang-*
+twistd.pid
+twistd.log*
+notify.pickle
+changes.pck

Added: zorg/trunk/buildbot/osuosl/master/README.txt
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/README.txt?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/README.txt (added)
+++ zorg/trunk/buildbot/osuosl/master/README.txt Sat Feb 13 16:23:23 2010
@@ -0,0 +1,11 @@
+This directory contains the configuration for the public LLVM
+buildbot, currently hosted at OSUOSL.
+
+Most of the configuration is in LLVM, 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/osuosl/master/buildbot.tac
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/buildbot.tac?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/buildbot.tac (added)
+++ zorg/trunk/buildbot/osuosl/master/buildbot.tac Sat Feb 13 16:23:23 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)
+

Propchange: zorg/trunk/buildbot/osuosl/master/config/

------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Feb 13 16:23:23 2010
@@ -0,0 +1,2 @@
+llvmauthors.cfg
+local.cfg

Added: zorg/trunk/buildbot/osuosl/master/config/__init__.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/__init__.py?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/__init__.py (added)
+++ zorg/trunk/buildbot/osuosl/master/config/__init__.py Sat Feb 13 16:23:23 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/osuosl/master/config/builders.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/builders.py (added)
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py Sat Feb 13 16:23:23 2010
@@ -0,0 +1,157 @@
+from zorg.buildbot.builders import ClangBuilder, LLVMBuilder, LLVMGCCBuilder
+
+# Plain LLVM builders.
+def _get_llvm_builders():
+    return [
+        {'name': "llvm-i686-linux",
+         'slavenames': ["dunbar1"],
+         'builddir': "llvm-i686", 
+         'factory': LLVMBuilder.getLLVMBuildFactory("i686-pc-linux-gnu", 2)},
+        {'name': "llvm-x86_64-linux",
+         'slavenames': ["osu1"],
+         'builddir': "llvm-x86_64",
+         'factory': LLVMBuilder.getLLVMBuildFactory(triple="x86_64-pc-linux-gnu")},
+        {'name': "llvm-ppc-linux",
+         'slavenames':["nick1"],
+         'builddir':"llvm-ppc",
+         'factory': LLVMBuilder.getLLVMBuildFactory("ppc-linux-gnu", jobs=1, clean=False, timeout=40)},
+        {'name': "llvm-arm-linux",
+         'slavenames':["ranby1"],
+         'builddir':"llvm-arm-linux",
+         'factory': LLVMBuilder.getLLVMBuildFactory("arm-pc-linux-gnu", jobs=1, clean=False,
+                                                    timeout=40)},
+        {'name': "llvm-i386-auroraux",
+         'slavenames':["evocallaghan"],
+         'builddir':"llvm-i386-auroraux",
+         'factory': LLVMBuilder.getLLVMBuildFactory("i386-pc-auroraux", jobs="%(jobs)s", make='gmake')},
+        ]
+
+# Offline.
+{'name': "llvm-alpha-linux",
+ 'slavenames':["andrew1"],
+ 'builddir':"llvm-alpha",
+ 'factory': LLVMBuilder.getLLVMBuildFactory("alpha-linux-gnu", jobs=2)}
+
+# llvm-gcc self hosting builders.
+def _get_llvmgcc_builders():
+    return [
+        {'name' : "llvm-gcc-i686-darwin10-selfhost",
+         'slavenames':["dunbar-darwin10"],
+         'builddir':"llvm-gcc-i686-darwin10-selfhost",
+         'factory':LLVMGCCBuilder.getLLVMGCCBuildFactory(4, triple='i686-apple-darwin10',
+                                                         gxxincludedir='/usr/include/c++/4.2.1')},
+        {'name' : "llvm-gcc-x86_64-darwin10-selfhost",
+         'slavenames':["dunbar-darwin10"],
+         'builddir':"llvm-gcc-x86_64-darwin10-selfhost",
+         'factory':LLVMGCCBuilder.getLLVMGCCBuildFactory(4, triple='x86_64-apple-darwin10',
+                                                         gxxincludedir='/usr/include/c++/4.2.1')},
+        ]
+
+# Offline, no free x86_64 resources.
+{'name' : "llvm-x86_64-linux-checks",
+ 'slavenames':["osu2"],
+ 'builddir':"llvm-x86_64-linux-checks",
+ 'factory':LLVMBuilder.getLLVMBuildFactory("x86_64-pc-linux-gnu", jobs=10, expensive_checks=True)}
+{'name' : "llvm-gcc-x86_64-linux-selfhost",
+ 'slavenames':["osu2"],
+ 'builddir':"llvm-gcc-x86_64-linux-selfhost",
+ 'factory':LLVMGCCBuilder.getLLVMGCCBuildFactory(10)}
+
+# Clang builders.
+def _get_clang_builders():
+    return [
+        {'name': "clang-x86_64-linux",
+         'slavenames':["osu1"],
+         'builddir':"clang-x86_64-linux",
+         'factory': ClangBuilder.getClangBuildFactory(examples=True)},
+        {'name': "clang-i686-linux",
+         'slavenames':["dunbar1"],
+         'builddir':"clang-i686-linux",
+         'factory': ClangBuilder.getClangBuildFactory()},
+        {'name' : "clang-i686-darwin10",
+         'slavenames' :["dunbar-darwin10"],
+         'builddir' :"clang-i686-darwin10",
+         'factory': ClangBuilder.getClangBuildFactory(triple='i686-apple-darwin10',
+                                                      stage1_config='Release-Asserts')},
+        {'name': "clang-i686-freebsd",
+         'slavenames':["freebsd1"],
+         'builddir':"clang-i686-freebsd",
+         'factory': ClangBuilder.getClangBuildFactory(clean=False)},
+        {'name' : "clang-i686-xp-msvc9",
+         'slavenames' :['dunbar-win32-2'],
+         'builddir' :"clang-i686-xp-msvc9",
+         'factory' : ClangBuilder.getClangMSVCBuildFactory(jobs=2)},
+        {'name': "clang-i386-auroraux",
+         'slavenames':["evocallaghan"],
+         'builddir':"clang-i386-auroraux",
+         'factory': ClangBuilder.getClangBuildFactory("i386-pc-auroraux",
+                                                      jobs="%(jobs)s", make='gmake')},
+        {'name' : "clang-x86_64-darwin10-selfhost",
+         'slavenames' : ["dunbar-darwin10"],
+         'builddir' : "clang-x86_64-darwin10-selfhost",
+         'factory' : ClangBuilder.getClangBuildFactory(triple='x86_64-apple-darwin10',
+                                                       useTwoStage=True,
+                                                       stage1_config='Release',
+                                                       stage2_config='Debug')},
+        ]
+
+def _get_experimental_builders():
+    return [
+        {'name' : "llvm-gcc-x86_64-darwin10-cross-mingw32",
+         'slavenames':["kistanova1"],
+         'builddir': "llvm-gcc-x86_64-darwin10-cross-mingw32",
+         'factory':LLVMGCCBuilder.getLLVMGCCBuildFactory(
+                16, build='x86_64-apple-darwin10',
+                host='i686-pc-mingw32',
+                target='i686-pc-mingw32',
+                useTwoStage=False,
+                extra_configure_args=['--disable-multilib', '--disable-nls', '--disable-shared',
+                                      '--disable-sjlj-exceptions', '--disable-__cxa_atexit',
+                                      '--with-local-prefix=/tools'],
+                verbose=True,
+                env={ 'PATH' : '/cross-tools/bin:/usr/bin:/bin:/usr/sbin:/sbin' },
+                ),
+         'category':'llvm-gcc.exp'},
+        {'name' : "clang-x86_64-darwin10-selfhost-rel",
+         'slavenames' : ["dunbar-darwin10"],
+         'builddir' : "clang-x86_64-darwin10-selfhost-rel",
+         'factory' : ClangBuilder.getClangBuildFactory(triple='x86_64-apple-darwin10',
+                                                       useTwoStage=True,
+                                                       stage1_config='Release',
+                                                       stage2_config='Release'),
+         'category' : 'clang.exp' },
+        ]
+
+def get_builders():
+    for b in _get_llvm_builders():
+        b['category'] = 'llvm'
+        yield b
+
+    for b in _get_llvmgcc_builders():
+        b['category'] = 'llvm-gcc'
+        yield b
+
+    for b in _get_clang_builders():
+        b['category'] = 'clang'
+        yield b
+
+    for b in _get_experimental_builders():
+        yield b
+
+# Random other unused builders...
+
+{'name': "clang-x86_64-linux-vg",
+ 'slavenames':["osu2"],
+ 'builddir':"clang-x86_64-linux-vg",
+ 'factory': ClangBuilder.getClangBuildFactory(valgrind=True),
+ 'category':'clang.exp'}
+{'name': "clang-x86_64-openbsd",
+ 'slavenames':["ocean1"],
+ 'builddir':"clang-x86_64-openbsd",
+ 'factory': ClangBuilder.getClangBuildFactory(),
+ 'category':'clang.exp'}
+{'name': "clang-x86_64-linux-checks",
+ 'slavenames':["osu2"],
+ 'builddir':"clang-x86_64-linux-checks",
+ 'factory': ClangBuilder.getClangBuildFactory(stage1_config='Debug+Checks'),
+ 'category':'clang.exp'}

Added: zorg/trunk/buildbot/osuosl/master/config/slaves.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/slaves.py?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/slaves.py (added)
+++ zorg/trunk/buildbot/osuosl/master/config/slaves.py Sat Feb 13 16:23:23 2010
@@ -0,0 +1,52 @@
+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("osu1", properties={'jobs' : 4}, max_builds=1), 
+
+        # FreeBSD zero.sajd.net 9.0-CURRENT i386
+        create_slave("freebsd1", properties={'jobs' : 1}), 
+
+        # A PowerPC Linux machine. 900MHz G3 processor with 256MB of RAM.
+        create_slave("nick1"), 
+
+        # Core 2 Due running Ubuntu.
+        create_slave("dunbar1", properties={'jobs' : 2}, max_builds=1),
+
+        # Athlon 1.2 XP SP 3.
+        create_slave("dunbar-win32", properties={'jobs' : 1}, max_builds=1),
+
+        # Dual Quad Core Mc Pro (Nehalem) running SnowLeopard.
+        create_slave("dunbar-darwin10", properties={'jobs' : 4}, max_builds=4),
+
+        # Dual Core Pentium M, XP SP 3.
+        create_slave("dunbar-win32-2", properties={'jobs' : 2}, max_builds=1),
+
+        # CPU Marvell Kirkwood 88F6281 ARM Based armv5tejl running at 1.2Ghz
+        # Memory 512MB SDRAM
+        # Power 2.3w idle no attached devices, 7.0w running at 100% CPU utilization
+        # Storage 400Gb USB drive.
+        # OS Ubuntu Jaunty
+        create_slave("ranby1"),
+
+        # Quad Core Mac Pro running Leopard.
+        create_slave("kistanova1", properties={'jobs' : 1}, max_builds=1),
+
+        # Quad Core x86_64, Solaris / AurorAUX
+        create_slave("evocallaghan", properties={'jobs' : 4}, max_builds=1),
+
+        # Adobe
+        create_slave("adobe1", properties={'jobs' : 1}, max_builds=1),
+
+        # Defunct.
+        #create_slave("osu2", properties={'jobs' : 4}, max_builds=2), 
+        #create_slave("andrew1"),
+        #create_slave("danmbp1"),
+        ]

Added: zorg/trunk/buildbot/osuosl/master/config/status.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/status.py?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/status.py (added)
+++ zorg/trunk/buildbot/osuosl/master/config/status.py Sat Feb 13 16:23:23 2010
@@ -0,0 +1,27 @@
+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
+
+def get_status_targets(standard_builders):
+    default_email = config.options.get('Master Options', 'default_email')
+    return [
+        buildbot.status.html.WebStatus(
+            http_port = 8011, allowForce = False),
+        buildbot.status.mail.MailNotifier(
+            fromaddr = "buildbot at google1.osuosl.org",
+            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 = "llvmbb", channels = ["#llvm"],
+            allowForce = True,
+            notify_events = ['successToFailure', 'failureToSuccess']),
+        ]

Added: zorg/trunk/buildbot/osuosl/master/master.cfg
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/master.cfg?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/master.cfg (added)
+++ zorg/trunk/buildbot/osuosl/master/master.cfg Sat Feb 13 16:23:23 2010
@@ -0,0 +1,93 @@
+# -*- 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', 'osuosl', '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
+
+####### 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("llvm/trunk"))
+  c['change_source'].append(LLVMPoller("cfe/trunk"))
+  c['change_source'].append(LLVMPoller("llvm-gcc-4.2/trunk"))
+#  c['change_source'].append(LLVMPoller("test-suite/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)
+
+####### SCHEDULERS
+
+from buildbot.scheduler import Scheduler
+c['schedulers'] = [Scheduler(name="all",branch=None,
+                             treeStableTimer=2*60,
+                             builderNames=standard_builders)]
+
+####### PROJECT IDENTITY
+
+c['projectName'] = "llvm"
+c['projectURL'] = "http://llvm.org/"
+c['buildbotURL'] = "http://google1.osuosl.org:8011/"
+
+####### 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/osuosl/master/public_html/buildbot.css
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css (added)
+++ zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css Sat Feb 13 16:23:23 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/osuosl/master/public_html/buildbot.css.extended
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css.extended?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css.extended (added)
+++ zorg/trunk/buildbot/osuosl/master/public_html/buildbot.css.extended Sat Feb 13 16:23:23 2010
@@ -0,0 +1,382 @@
+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;
+}
+
+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;
+}
+
+.failure {
+	color: #FFFFFF;
+	background-color: #e98080;
+        border-color: #A77272;
+}
+
+.warnings {
+	color: #FFFFFF;
+	background-color: #ffc343;
+        border-color: #C29D46;
+}
+
+.exception, td.offline {
+	color: #FFFFFF;
+	background-color: #e0b0ff;
+        border-color: #ACA0B3;
+}
+
+.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/osuosl/master/public_html/index.html
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/public_html/index.html?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/public_html/index.html (added)
+++ zorg/trunk/buildbot/osuosl/master/public_html/index.html Sat Feb 13 16:23:23 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/osuosl/master/public_html/robots.txt
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/public_html/robots.txt?rev=96124&view=auto

==============================================================================
--- zorg/trunk/buildbot/osuosl/master/public_html/robots.txt (added)
+++ zorg/trunk/buildbot/osuosl/master/public_html/robots.txt Sat Feb 13 16:23:23 2010
@@ -0,0 +1,9 @@
+User-agent: *
+Disallow: /waterfall
+Disallow: /builders
+Disallow: /changes
+Disallow: /buildslaves
+Disallow: /schedulers
+Disallow: /one_line_per_build
+Disallow: /one_box_per_builder
+Disallow: /xmlrpc





More information about the llvm-commits mailing list