summaryrefslogtreecommitdiffstats
path: root/WebKitTools/BuildSlaveSupport
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-05 14:36:32 +0100
committerBen Murdoch <benm@google.com>2011-05-10 15:38:30 +0100
commitf05b935882198ccf7d81675736e3aeb089c5113a (patch)
tree4ea0ca838d9ef1b15cf17ddb3928efb427c7e5a1 /WebKitTools/BuildSlaveSupport
parent60fbdcc62bced8db2cb1fd233cc4d1e4ea17db1b (diff)
downloadexternal_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.zip
external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.gz
external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.bz2
Merge WebKit at r74534: Initial merge by git.
Change-Id: I6ccd1154fa1b19c2ec2a66878eb675738735f1eb
Diffstat (limited to 'WebKitTools/BuildSlaveSupport')
-rwxr-xr-xWebKitTools/BuildSlaveSupport/build-launcher-app120
-rwxr-xr-xWebKitTools/BuildSlaveSupport/build-launcher-dmg118
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/Makefile19
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/README2
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/buildbot.tac21
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json257
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/master.cfg552
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/buildbot.css382
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/default.css524
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/robots.txt13
-rwxr-xr-xWebKitTools/BuildSlaveSupport/build.webkit.org-config/templates/root.html24
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/__init__.py5
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/auth.py9
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py51
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/builders.py51
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/factories.py109
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/schedulers.py16
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/status.py19
-rw-r--r--WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/steps.py262
-rw-r--r--WebKitTools/BuildSlaveSupport/built-product-archive148
-rw-r--r--WebKitTools/BuildSlaveSupport/gtk/README52
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/buildbot/log/run38
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/buildbot/run77
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/crashmon/crashmon73
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/crashmon/log/run38
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/crashmon/run74
-rw-r--r--WebKitTools/BuildSlaveSupport/gtk/daemontools-buildbot.conf87
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/pulseaudio/run24
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/xvfb/log/run37
-rwxr-xr-xWebKitTools/BuildSlaveSupport/gtk/xvfb/run41
-rwxr-xr-xWebKitTools/BuildSlaveSupport/run-performance-tests80
-rw-r--r--WebKitTools/BuildSlaveSupport/test-result-archive118
-rwxr-xr-xWebKitTools/BuildSlaveSupport/win/kill-old-processes38
33 files changed, 0 insertions, 3479 deletions
diff --git a/WebKitTools/BuildSlaveSupport/build-launcher-app b/WebKitTools/BuildSlaveSupport/build-launcher-app
deleted file mode 100755
index 117b008..0000000
--- a/WebKitTools/BuildSlaveSupport/build-launcher-app
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/perl -w
-
-# Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
-# Copyright (C) 2006 Mark Rowe <opendarwin.org@bdash.net.nz>. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
-# its contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Creates the launcher WebKit.app with bundled frameworks.
-
-use strict;
-
-use FindBin;
-use lib "$FindBin::Bin/../Scripts";
-use webkitdirs;
-
-my @xcodeBuildArguments = XcodeOptions();
-my $nightlyLauncherTemplatePath = "$FindBin::Bin/../WebKitLauncher";
-my $nightlyLauncherStagingPath = productDir() . "/WebKit.app";
-
-sub buildNightlyLauncher
-{
- chdir($nightlyLauncherTemplatePath);
- system("xcodebuild", "clean", "-alltargets", @xcodeBuildArguments, @ARGV) == 0 or die "Failed cleaning WebKitLauncher project";
- system("xcodebuild", @xcodeBuildArguments, @ARGV) == 0 or die "Failed building WebKitLauncher project";
- chdirWebKit();
-}
-
-sub currentRevision
-{
- my $sourceDir = sourceDir();
- if (isSVNDirectory($sourceDir)) {
- return currentSVNRevision();
- } elsif (isGitDirectory($sourceDir)) {
- my $gitLog = `cd $sourceDir && LC_ALL=C git log --grep='git-svn-id: ' -n 1 | grep git-svn-id:`;
- (my $revision) = ($gitLog =~ m/ +git-svn-id: .+@(\d+) /g);
- return $revision;
- }
-}
-
-sub currentBranch
-{
- my $sourceDir = sourceDir();
- my ($url, $branch);
- if (isSVNDirectory($sourceDir)) {
- my $svnInfo = `LC_ALL=C svn info $sourceDir | grep URL:`;
- ($url) = ($svnInfo =~ m/URL: (.+)/g);
- } elsif (isGitDirectory($sourceDir)) {
- my $gitLog = `cd $sourceDir && LC_ALL=C git log --grep='git-svn-id: ' -n 1 | grep git-svn-id:`;
- ($url) = ($gitLog =~ m/ +git-svn-id: (.+)@\d+ /g);
- }
- ($branch) = ($url =~ m/\/webkit\/(trunk|branches\/[^\/]+)/);
- die "Unable to determine current SVN branch in $sourceDir" unless (defined $branch);
- $branch =~ s/^branches\///;
- return $branch;
-}
-
-sub copyNightlyLauncher
-{
- my $revision = currentRevision();
- my $branch = currentBranch();
-
- my $infoPlist = "$nightlyLauncherStagingPath/Contents/Info.plist";
- my $versionFile = "$nightlyLauncherStagingPath/Contents/Resources/VERSION";
- my $branchFile = "$nightlyLauncherStagingPath/Contents/Resources/BRANCH";
- my $data;
- open(IN, $infoPlist) or die "Couldn't open Info.plist in built application for reading";
- {
- undef $/;
- $data = <IN>;
- }
- close(IN);
- open(OUT, ">$infoPlist") or die "Couldn't open Info.plist in built application for writing";
- $data =~ s/VERSION/$revision/g;
- print OUT $data;
- close(OUT);
-
- open(OUT, ">$versionFile") or die "Couldn't open VERSION in built application for writing";
- print OUT "$revision\n";
- close(OUT);
-
- open(OUT, ">$branchFile") or die "Couldn't open BRANCH in built application for writing";
- print OUT "$branch\n";
- close(OUT);
-
- my @frameworks = ("JavaScriptCore", "JavaScriptGlue", "WebCore", "WebKit");
- for my $framework (@frameworks) {
- system("ditto", productDir() . "/$framework.framework", "$nightlyLauncherStagingPath/Contents/Resources/$framework.framework") == 0 or die "Failed copying $framework.framework into $nightlyLauncherStagingPath";
- }
-}
-
-my $b = currentBranch();
-my $r = currentRevision();
-print "Branch: ", $b, "\n";
-print "Revision: ", $r, "\n";
-
-chdirWebKit();
-buildNightlyLauncher();
-copyNightlyLauncher();
diff --git a/WebKitTools/BuildSlaveSupport/build-launcher-dmg b/WebKitTools/BuildSlaveSupport/build-launcher-dmg
deleted file mode 100755
index 4dce7fb..0000000
--- a/WebKitTools/BuildSlaveSupport/build-launcher-dmg
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/usr/bin/perl -w
-
-# Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
-# Copyright (C) 2006 Mark Rowe <opendarwin.org@bdash.net.nz>. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
-# its contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Script used by build slaves to create a disk-image containing WebKit.app.
-
-use strict;
-
-use File::Basename;
-use Getopt::Long;
-use FindBin;
-use lib "$FindBin::Bin/../Scripts";
-use webkitdirs;
-
-my $nightlyLauncherStagingPath = productDir() . "/WebKit.app";
-my $droseraStagingPath = productDir() . "/DroseraLauncher.app";
-my $nightlyLauncherDiskImagePath;
-
-my $nightlyRemoteHost = 'webkit-nightlies@live.nightly.webkit.org';
-my $nightlyRemotePath = "/home/webkit-nightlies";
-my $nightlyRemoteLatestPath = "$nightlyRemotePath/update-latest.sh";
-
-sub buildDiskImage
-{
- my $revision = currentSVNRevision();
- my $productDir = productDir();
- $nightlyLauncherDiskImagePath = productDir() . "/WebKit-SVN-r$revision.dmg";
-
- print "Removing previous temp source directory (if any)...\n";
- `rm -rf /tmp/WebKitNightly`;
- die "Removing previous temp source directory failed" if $?;
-
- print "Making a new temp source directory...\n";
- `mkdir /tmp/WebKitNightly`;
- die "Making a new temp source directory failed" if $?;
-
- print "Copying WebKit.app to temp source directory...\n";
- `cp -R \"$nightlyLauncherStagingPath\" /tmp/WebKitNightly/WebKit.app`;
- die "Copying WebKit.app to temp source directory failed" if $?;
-
- print "Copying Drosera.app to temp source directory...\n";
- `cp -R \"$droseraStagingPath\" /tmp/WebKitNightly/Drosera.app`;
- die "Copying Drosera.app to temp source directory failed" if $?;
-
- print "Creating disk image...\n";
- `hdiutil create \"$nightlyLauncherDiskImagePath\" -ov -srcfolder /tmp/WebKitNightly -fs HFS+ -volname \"WebKit\"`;
- die "Creating disk image failed" if $?;
-
- print "Removing temp source directory...\n";
- `rm -rf /tmp/WebKitNightly`;
- die "Removing temp source directory failed" if $?;
-
- print "Compressing disk image...\n";
- system("mv", "-f", $nightlyLauncherDiskImagePath, "$nightlyLauncherDiskImagePath.uncompressed.dmg") == 0 or die "Renaming disk image failed";
- system("hdiutil", "convert", "-quiet", "$nightlyLauncherDiskImagePath.uncompressed.dmg", "-format", "UDBZ", "-imagekey", "zlib-level=9", "-o", "$nightlyLauncherDiskImagePath");
- die "Compressing disk image failed" if $?;
-
- unlink "$nightlyLauncherDiskImagePath.uncompressed.dmg";
-}
-
-sub uploadNightlyDiskImage
-{
- my $buildTag = shift(@_);
- my $nightlyRemoteDiskImagePath = "$nightlyRemotePath/builds/$buildTag/mac/" . basename($nightlyLauncherDiskImagePath);
- my $revision = currentSVNRevision();
- system("rsync", "-vP", $nightlyLauncherDiskImagePath, "$nightlyRemoteHost:$nightlyRemoteDiskImagePath") == 0 or die "Failed uploading disk image";
- system("ssh", $nightlyRemoteHost, $nightlyRemoteLatestPath, $buildTag, "mac", $nightlyRemoteDiskImagePath, $revision) == 0 or die "Failed linking disk image to latest";
-}
-
-sub uploadBuildSlaveDiskImage
-{
- my $remoteDiskImagePath = shift(@_) . basename($nightlyLauncherDiskImagePath);
- system("rsync", "-vP", $nightlyLauncherDiskImagePath, $remoteDiskImagePath) == 0 or die "Failed uploading disk image";
-}
-
-
-my $uploadTo;
-my $nightlyBuild = 0;
-my $buildTag = 'trunk';
-GetOptions('upload-to-host=s' => \$uploadTo,
- 'upload-as-nightly!' => \$nightlyBuild,
- 'tag=s' => \$buildTag);
-
-chdirWebKit();
-buildDiskImage($buildTag);
-
-if ($nightlyBuild) {
- uploadNightlyDiskImage($buildTag);
-} elsif ($uploadTo) {
- uploadBuildSlaveDiskImage($uploadTo);
-} else {
- print "Disk image left at $nightlyLauncherDiskImagePath\n";
-}
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/Makefile b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/Makefile
deleted file mode 100644
index bd5e749..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- 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 by doing 'make start' or 'make stop'.
-
-# The 'reconfig' target will tell a buildmaster to reload its config file.
-
-start:
- /opt/local/bin/twistd2.5 --no_save -y buildbot.tac
-
-stop:
- kill `cat twistd.pid`
-
-reconfig:
- kill -HUP `cat twistd.pid`
-
-log:
- tail -f twistd.log
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/README b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/README
deleted file mode 100644
index 3ba8a22..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/README
+++ /dev/null
@@ -1,2 +0,0 @@
-Note: This directory is *not* automatically synchronized with Subversion via a post-commit hook.
-Any changes made to code within this directory will need to be manually pushed to build.webkit.org.
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/buildbot.tac b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/buildbot.tac
deleted file mode 100644
index 1a53acf..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/buildbot.tac
+++ /dev/null
@@ -1,21 +0,0 @@
-
-from twisted.application import service
-from buildbot.master import BuildMaster
-
-basedir = r'/buildbot/webkit'
-configfile = r'master.cfg'
-rotateLength = 1000000
-maxRotatedFiles = None
-
-application = service.Application('buildmaster')
-try:
- from twisted.python.logfile import LogFile
- from twisted.python.log import ILogObserver, FileLogObserver
- logfile = LogFile.fromFullPath("twistd.log", rotateLength=rotateLength,
- maxRotatedFiles=maxRotatedFiles)
- application.setComponent(ILogObserver, FileLogObserver(logfile).emit)
-except ImportError:
- # probably not yet twisted 8.2.0 and beyond, can't set log yet
- pass
-BuildMaster(basedir, configfile).setServiceParent(application)
-
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json
deleted file mode 100644
index d46b140..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json
+++ /dev/null
@@ -1,257 +0,0 @@
-{
- "slaves": [ { "name": "test-slave", "platform": "*" },
-
- { "name": "apple-xserve-1", "platform": "mac-leopard" },
- { "name": "apple-xserve-2", "platform": "mac-leopard" },
- { "name": "apple-xserve-3", "platform": "mac-leopard" },
-
- { "name": "apple-xserve-4", "platform": "mac-snowleopard" },
- { "name": "apple-xserve-5", "platform": "mac-snowleopard" },
- { "name": "apple-xserve-6", "platform": "mac-snowleopard" },
- { "name": "apple-xserve-7", "platform": "mac-snowleopard" },
-
- { "name": "apple-pixel-1", "platform": "mac-leopard" },
-
- { "name": "apple-macpro-1", "platform": "mac-snowleopard" },
- { "name": "apple-macpro-2", "platform": "mac-snowleopard" },
- { "name": "apple-macpro-3", "platform": "mac-snowleopard" },
- { "name": "apple-macpro-4", "platform": "mac-leopard" },
- { "name": "apple-macpro-5", "platform": "mac-leopard" },
-
- { "name": "apple-windows-1", "platform": "win"},
- { "name": "apple-windows-2", "platform": "win"},
- { "name": "apple-windows-3", "platform": "win"},
- { "name": "apple-windows-4", "platform": "win"},
- { "name": "apple-windows-5", "platform": "win"},
- { "name": "apple-windows-6", "platform": "win"},
- { "name": "apple-windows-7", "platform": "win"},
- { "name": "apple-windows-8", "platform": "win"},
- { "name": "apple-windows-9", "platform": "win"},
- { "name": "apple-windows-10", "platform": "win"},
- { "name": "apple-windows-11", "platform": "win"},
- { "name": "apple-windows-12", "platform": "win"},
- { "name": "apple-windows-13", "platform": "win"},
- { "name": "apple-windows-14", "platform": "win"},
- { "name": "apple-windows-15", "platform": "win"},
-
- { "name": "gtk-linux-slave-1", "platform": "gtk"},
- { "name": "gtk-linux-slave-2", "platform": "gtk"},
- { "name": "gtk-linux-slave-3", "platform": "gtk"},
- { "name": "gtk-linux-slave-4", "platform": "gtk"},
-
- { "name": "szeged-linux-1", "platform": "qt"},
- { "name": "szeged-linux-2", "platform": "qt"},
- { "name": "szeged-linux-3", "platform": "qt"},
- { "name": "szeged-linux-4", "platform": "qt"},
-
- { "name": "szeged-windows-1", "platform": "qt"},
- { "name": "szeged-windows-2", "platform": "qt"},
-
- { "name": "google-windows-1", "platform": "chromium-win" },
- { "name": "google-mac-1", "platform": "chromium-mac" },
- { "name": "google-linux-1", "platform": "chromium-linux" },
- { "name": "google-windows-2", "platform": "chromium-win" },
- { "name": "google-mac-2", "platform": "chromium-mac" },
- { "name": "google-linux-2", "platform": "chromium-linux" },
- { "name": "google-new-tests", "platform": "mac-leopard" },
-
- { "name": "wincairo-1", "platform": "wincairo" },
-
- { "name": "efl-linux-slave-1", "platform": "efl" }
- ],
-
- "builders": [ { "name": "Leopard Intel Release (Build)", "type": "Build", "builddir": "leopard-intel-release",
- "platform": "mac-leopard", "configuration": "release", "architectures": ["i386"],
- "triggers": ["leopard-intel-release-tests"],
- "slavenames": ["apple-xserve-1", "apple-xserve-2", "test-slave"]
- },
- { "name": "Leopard Intel Release (Tests)", "type": "Test", "builddir": "leopard-intel-release-tests",
- "platform": "mac-leopard", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["apple-macpro-4", "apple-pixel-1", "test-slave"]
- },
-
- { "name": "Leopard Intel Debug (Build)", "type": "Build", "builddir": "leopard-intel-debug",
- "platform": "mac-leopard", "configuration": "debug", "architectures": ["i386"],
- "triggers": ["leopard-intel-debug-tests"],
- "slavenames": ["apple-xserve-1", "apple-xserve-2", "test-slave"]
- },
- { "name": "Leopard Intel Debug (Tests)", "type": "Test", "builddir": "leopard-intel-debug-tests",
- "platform": "mac-leopard", "configuration": "debug", "architectures": ["i386"],
- "slavenames": ["apple-xserve-3", "test-slave", "apple-macpro-5"]
- },
- { "name": "SnowLeopard Intel Release (Build)", "type": "Build", "builddir": "snowleopard-intel-release",
- "platform": "mac-snowleopard", "configuration": "release", "architectures": ["x86_64"],
- "triggers": ["snowleopard-intel-release-tests", "snowleopard-intel-release-tests-wk2"],
- "slavenames": ["apple-xserve-4", "test-slave"]
- },
- { "name": "SnowLeopard Intel Release (Tests)", "type": "Test", "builddir": "snowleopard-intel-release-tests",
- "platform": "mac-snowleopard", "configuration": "release", "architectures": ["x86_64"],
- "slavenames": ["apple-xserve-5", "apple-xserve-6", "test-slave"]
- },
- { "name": "SnowLeopard Intel Leaks", "type": "BuildAndTestLeaks", "builddir": "snowleopard-intel-leaks",
- "platform": "mac-snowleopard", "configuration": "debug", "architectures": ["x86_64"],
- "slavenames": ["apple-macpro-1", "apple-macpro-3", "test-slave"]
- },
- { "name": "SnowLeopard Intel Release (WebKit2 Tests)", "type": "TestWebKit2", "builddir": "snowleopard-intel-release-tests-wk2",
- "platform": "mac-snowleopard", "configuration": "release", "architectures": ["x86_64"],
- "slavenames": ["apple-xserve-7", "test-slave"]
- },
- {
- "name": "Windows Release (Build)", "type": "Build", "builddir": "win-release",
- "platform": "win", "configuration": "release", "architectures": ["i386"],
- "triggers": ["win-release-tests", "win-release-tests-wk2"],
- "slavenames": ["apple-windows-2", "test-slave"]
- },
- {
- "name": "Windows 7 Release (Tests)", "type": "Test", "builddir": "win-release-tests",
- "platform": "win", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["apple-windows-5", "apple-windows-6", "apple-windows-11", "apple-windows-12", "test-slave"]
- },
- {
- "name": "Windows Debug (Build)", "type": "Build", "builddir": "win-debug",
- "platform": "win", "configuration": "debug", "architectures": ["i386"],
- "triggers": ["win-debug-tests"],
- "slavenames": ["apple-windows-1", "test-slave"]
- },
- {
- "name": "Windows XP Debug (Tests)", "type": "Test", "builddir": "win-debug-tests",
- "platform": "win", "configuration": "debug", "architectures": ["i386"],
- "slavenames": ["apple-windows-3", "apple-windows-4", "apple-windows-13", "apple-windows-14", "apple-windows-15", "test-slave"]
- },
- { "name": "Windows 7 Release (WebKit2 Tests)", "type": "TestWebKit2", "builddir": "win-release-tests-wk2",
- "platform": "win", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["apple-windows-7", "apple-windows-8", "apple-windows-9", "apple-windows-10", "test-slave"]
- },
- {
- "name": "GTK Linux 32-bit Release", "type": "BuildAndTest", "builddir": "gtk-linux-32-release",
- "platform": "gtk", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["gtk-linux-slave-1"]
- },
- {
- "name": "GTK Linux 32-bit Debug", "type": "BuildAndTest", "builddir": "gtk-linux-32-debug",
- "platform": "gtk", "configuration": "debug", "architectures": ["i386"],
- "slavenames": ["gtk-linux-slave-2"]
- },
- {
- "name": "GTK Linux 64-bit Debug", "type": "BuildAndTest", "builddir": "gtk-linux-64-debug",
- "platform": "gtk", "configuration": "debug", "architectures": ["x86_64"],
- "slavenames": ["gtk-linux-slave-3"]
- },
- {
- "name": "GTK Linux 64-bit Release", "type": "BuildAndTest", "builddir": "gtk-linux-64-release",
- "platform": "gtk", "configuration": "release", "architectures": ["x86_64"],
- "slavenames": ["gtk-linux-slave-4"]
- },
- {
- "name": "Qt Linux Release", "type": "BuildAndTest", "builddir": "qt-linux-release",
- "platform": "qt", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["szeged-linux-1"]
- },
- {
- "name": "Qt Linux Release minimal", "type": "Build", "builddir": "qt-linux-release-minimal",
- "platform": "qt", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["szeged-linux-2"]
- },
- {
- "name": "Qt Linux ARMv5 Release", "type": "Build", "builddir": "qt-linux-armv5-release",
- "platform": "qt", "configuration": "release", "architectures": ["armv5"],
- "slavenames": ["szeged-linux-3"]
- },
- {
- "name": "Qt Linux ARMv7 Release", "type": "Build", "builddir": "qt-linux-armv7-release",
- "platform": "qt", "configuration": "release", "architectures": ["armv7"],
- "slavenames": ["szeged-linux-4"]
- },
- {
- "name": "Qt Windows 32-bit Release", "type": "Build", "builddir": "qt-windows-32bit-release",
- "platform": "qt", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["szeged-windows-1"]
- },
- {
- "name": "Qt Windows 32-bit Debug", "type": "Build", "builddir": "qt-windows-32bit-debug",
- "platform": "qt", "configuration": "debug", "architectures": ["i386"],
- "slavenames": ["szeged-windows-2"]
- },
- {
- "name": "Chromium Win Release", "type": "Build", "builddir": "chromium-win-release",
- "platform": "chromium-win", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["google-windows-1"]
- },
- {
- "name": "Chromium Mac Release", "type": "Build", "builddir": "chromium-mac-release",
- "platform": "chromium-mac", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["google-mac-1"]
- },
- {
- "name": "Chromium Linux Release", "type": "Build", "builddir": "chromium-linux-release",
- "platform": "chromium-linux", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["google-linux-1"]
- },
- {
- "name": "Chromium Win Release (Tests)", "type": "NewBuildAndTest", "builddir": "chromium-win-release-tests",
- "platform": "chromium-win", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["google-windows-2"]
- },
- {
- "name": "Chromium Mac Release (Tests)", "type": "NewBuildAndTest", "builddir": "chromium-mac-release-tests",
- "platform": "chromium-mac", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["google-mac-2"]
- },
- {
- "name": "Chromium Linux Release (Tests)", "type": "NewBuildAndTest", "builddir": "chromium-linux-release-tests",
- "platform": "chromium-linux", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["google-linux-2"]
- },
- {
- "name": "New run-webkit-tests", "type": "NewBuildAndTest", "builddir": "google-new-tests",
- "platform": "mac-leopard", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["google-new-tests"]
- },
- {
- "name": "WinCairo Debug (Build)", "type": "Build", "builddir": "win-cairo-debug",
- "platform": "wincairo", "configuration": "debug", "architectures": ["i386"],
- "slavenames": ["wincairo-1"]
- },
- {
- "name": "EFL Linux Release (Build)", "type": "Build", "builddir": "efl-linux-release",
- "platform": "efl", "configuration": "release", "architectures": ["i386"],
- "slavenames": ["efl-linux-slave-1"]
- }
- ],
-
- "schedulers": [ { "type": "AnyBranchScheduler", "name": "trunk", "change_filter": "trunk_filter", "treeStableTimer": 45.0,
- "builderNames": ["Leopard Intel Release (Build)", "Leopard Intel Debug (Build)",
- "SnowLeopard Intel Release (Build)", "SnowLeopard Intel Leaks",
- "GTK Linux 32-bit Release", "GTK Linux 32-bit Debug", "GTK Linux 64-bit Debug", "GTK Linux 64-bit Release",
- "Qt Linux Release", "Qt Linux Release minimal", "Qt Linux ARMv5 Release", "Qt Linux ARMv7 Release",
- "Qt Windows 32-bit Release", "Qt Windows 32-bit Debug",
- "Chromium Win Release", "Chromium Mac Release", "Chromium Linux Release",
- "Chromium Win Release (Tests)", "Chromium Mac Release (Tests)", "Chromium Linux Release (Tests)",
- "WinCairo Debug (Build)", "EFL Linux Release (Build)"]
- },
- { "type": "PlatformSpecificScheduler", "platform": "win", "branch": "trunk", "treeStableTimer": 45.0,
- "builderNames": ["Windows Release (Build)", "Windows Debug (Build)"]
- },
- { "type": "Triggerable", "name": "leopard-intel-release-tests",
- "builderNames": ["Leopard Intel Release (Tests)"]
- },
- { "type": "Triggerable", "name": "leopard-intel-debug-tests",
- "builderNames": ["Leopard Intel Debug (Tests)"]
- },
- { "type": "Triggerable", "name": "snowleopard-intel-release-tests",
- "builderNames": ["SnowLeopard Intel Release (Tests)"]
- },
- { "type": "Triggerable", "name": "snowleopard-intel-release-tests-wk2",
- "builderNames": ["SnowLeopard Intel Release (WebKit2 Tests)"]
- },
- { "type": "Triggerable", "name": "win-release-tests",
- "builderNames": ["Windows 7 Release (Tests)"]
- },
- { "type": "Triggerable", "name": "win-debug-tests",
- "builderNames": ["Windows XP Debug (Tests)"]
- },
- { "type": "Triggerable", "name": "win-release-tests-wk2",
- "builderNames": ["Windows 7 Release (WebKit2 Tests)"]
- }
- ]
-}
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/master.cfg b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/master.cfg
deleted file mode 100644
index c28abb6..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/master.cfg
+++ /dev/null
@@ -1,552 +0,0 @@
-# -*- python -*-
-# ex: set syntax=python:
-
-c = BuildmasterConfig = {}
-
-from buildbot.buildslave import BuildSlave
-from buildbot.changes.pb import PBChangeSource
-from buildbot.scheduler import AnyBranchScheduler, Triggerable
-from buildbot.schedulers.filter import ChangeFilter
-from buildbot.status import html
-from buildbot.process import buildstep, factory, properties
-from buildbot.steps import master, shell, source, transfer, trigger
-from buildbot.status.builder import SUCCESS, FAILURE, WARNINGS, SKIPPED
-
-from twisted.internet import defer
-
-import re
-import simplejson
-
-from webkitpy.common.config import build as wkbuild
-from webkitpy.common.net.buildbot import BuildBot as wkbuildbot
-
-WithProperties = properties.WithProperties
-
-class ConfigureBuild(buildstep.BuildStep):
- name = "configure build"
- description = ["configuring build"]
- descriptionDone = ["configured build"]
- def __init__(self, platform, configuration, architecture, buildOnly, *args, **kwargs):
- buildstep.BuildStep.__init__(self, *args, **kwargs)
- self.platform = platform.split('-', 1)[0]
- self.fullPlatform = platform
- self.configuration = configuration
- self.architecture = architecture
- self.buildOnly = buildOnly
- self.addFactoryArguments(platform=platform, configuration=configuration, architecture=architecture, buildOnly=buildOnly)
-
- def start(self):
- self.setProperty("platform", self.platform)
- self.setProperty("fullPlatform", self.fullPlatform)
- self.setProperty("configuration", self.configuration)
- self.setProperty("architecture", self.architecture)
- self.setProperty("buildOnly", self.buildOnly)
- self.finished(SUCCESS)
- return defer.succeed(None)
-
-
-class CheckOutSource(source.SVN):
- baseURL = "http://svn.webkit.org/repository/webkit/"
- mode = "update"
- def __init__(self, *args, **kwargs):
- source.SVN.__init__(self, baseURL=self.baseURL, defaultBranch="trunk", mode=self.mode, *args, **kwargs)
-
-
-class InstallWin32Dependencies(shell.Compile):
- description = ["installing dependencies"]
- descriptionDone = ["installed dependencies"]
- command = ["perl", "./WebKitTools/Scripts/update-webkit-auxiliary-libs"]
-
-class KillOldProcesses(shell.Compile):
- name = "kill old processes"
- description = ["killing old processes"]
- descriptionDone = ["killed old processes"]
- command = ["python", "./WebKitTools/BuildSlaveSupport/win/kill-old-processes"]
-
-class InstallChromiumDependencies(shell.ShellCommand):
- name = "gclient"
- description = ["updating chromium dependencies"]
- descriptionDone = ["updated chromium dependencies"]
- command = ["perl", "./WebKitTools/Scripts/update-webkit-chromium", "--force"]
- haltOnFailure = True
-
-class CleanupChromiumLinuxCrashLogs(shell.ShellCommand):
- name = "cleanup crash logs"
- description = ["removing crash logs"]
- descriptionDone = ["removed crash logs"]
- command = ["sh", "-c", "rm -rf /tmp/.org.chromium.*"]
- haltOnFailure = False
-
-
-def appendCustomBuildFlags(step, platform):
- if platform in ('gtk', 'wx', 'qt', 'chromium', 'wincairo', 'efl'):
- step.setCommand(step.command + ['--' + platform])
-
-
-class CompileWebKit(shell.Compile):
- command = ["perl", "./WebKitTools/Scripts/build-webkit", WithProperties("--%(configuration)s")]
- env = {'MFLAGS':''}
- name = "compile-webkit"
- description = ["compiling"]
- descriptionDone = ["compiled"]
- warningPattern = ".*arning: .*"
-
- def start(self):
- platform = self.getProperty('platform')
- buildOnly = self.getProperty('buildOnly')
- if platform == 'mac' and buildOnly:
- self.setCommand(self.command + ['DEBUG_INFORMATION_FORMAT=dwarf-with-dsym'])
-
- appendCustomBuildFlags(self, platform)
- return shell.Compile.start(self)
-
-
-class ArchiveBuiltProduct(shell.ShellCommand):
- command = ["python", "./WebKitTools/BuildSlaveSupport/built-product-archive",
- WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), "archive"]
- name = "archive-built-product"
- description = ["archiving built product"]
- descriptionDone = ["archived built product"]
- haltOnFailure = True
-
-
-class ExtractBuiltProduct(shell.ShellCommand):
- command = ["python", "./WebKitTools/BuildSlaveSupport/built-product-archive",
- WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), "extract"]
- name = "extract-built-product"
- description = ["extracting built product"]
- descriptionDone = ["extracted built product"]
- haltOnFailure = True
-
-
-class UploadBuiltProduct(transfer.FileUpload):
- slavesrc = WithProperties("WebKitBuild/%(configuration)s.zip")
- masterdest = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(got_revision)s.zip")
- haltOnFailure = True
-
- def __init__(self):
- transfer.FileUpload.__init__(self, self.slavesrc, self.masterdest)
-
-
-class DownloadBuiltProduct(transfer.FileDownload):
- slavedest = WithProperties("WebKitBuild/%(configuration)s.zip")
- mastersrc = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(got_revision)s.zip")
- haltOnFailure = True
- flunkOnFailure = True
-
- def __init__(self):
- transfer.FileDownload.__init__(self, self.mastersrc, self.slavedest)
-
-
-class RunJavaScriptCoreTests(shell.Test):
- name = "jscore-test"
- description = ["jscore-tests running"]
- descriptionDone = ["jscore-tests"]
- command = ["perl", "./WebKitTools/Scripts/run-javascriptcore-tests", WithProperties("--%(configuration)s")]
- logfiles = {'results': 'JavaScriptCore/tests/mozilla/actual.html'}
-
- def __init__(self, skipBuild=False, *args, **kwargs):
- self.skipBuild = skipBuild
- shell.Test.__init__(self, *args, **kwargs)
- self.addFactoryArguments(skipBuild=skipBuild)
-
- def start(self):
- appendCustomBuildFlags(self, self.getProperty('platform'))
- if self.skipBuild:
- self.setCommand(self.command + ['--skip-build'])
- return shell.Test.start(self)
-
- def commandComplete(self, cmd):
- shell.Test.commandComplete(self, cmd)
-
- logText = cmd.logs['stdio'].getText()
- statusLines = [line for line in logText.splitlines() if line.find('regression') >= 0 and line.find(' found.') >= 0]
- if statusLines and statusLines[0].split()[0] != '0':
- self.regressionLine = statusLines[0]
- else:
- self.regressionLine = None
-
- def evaluateCommand(self, cmd):
- if self.regressionLine:
- return FAILURE
-
- if cmd.rc != 0:
- return FAILURE
-
- return SUCCESS
-
- def getText(self, cmd, results):
- return self.getText2(cmd, results)
-
- def getText2(self, cmd, results):
- if results != SUCCESS and self.regressionLine:
- return [self.name, self.regressionLine]
-
- return [self.name]
-
-
-class RunWebKitTests(shell.Test):
- name = "layout-test"
- description = ["layout-tests running"]
- descriptionDone = ["layout-tests"]
- command = ["perl", "./WebKitTools/Scripts/run-webkit-tests", "--no-launch-safari", "--no-new-test-results",
- "--no-sample-on-timeout", "--results-directory", "layout-test-results", "--use-remote-links-to-tests",
- WithProperties("--%(configuration)s"), "--exit-after-n-crashes-or-timeouts", "20"]
-
- def __init__(self, skipBuild=False, *args, **kwargs):
- self.skipBuild = skipBuild
- shell.Test.__init__(self, *args, **kwargs)
- self.addFactoryArguments(skipBuild=skipBuild)
-
- def start(self):
- appendCustomBuildFlags(self, self.getProperty('platform'))
- if self.skipBuild:
- self.setCommand(self.command + ['--root=WebKitBuild/bin'])
- return shell.Test.start(self)
-
- def commandComplete(self, cmd):
- shell.Test.commandComplete(self, cmd)
-
- logText = cmd.logs['stdio'].getText()
- incorrectLayoutLines = []
- for line in logText.splitlines():
- if line.find('had incorrect layout') >= 0 or line.find('were new') >= 0 or line.find('was new') >= 0:
- incorrectLayoutLines.append(line)
- elif line.find('test case') >= 0 and (line.find(' crashed') >= 0 or line.find(' timed out') >= 0):
- incorrectLayoutLines.append(line)
- elif line.startswith("WARNING:") and line.find(' leak') >= 0:
- incorrectLayoutLines.append(line.replace('WARNING: ', ''))
- elif line.find('Exiting early') >= 0:
- incorrectLayoutLines.append(line)
-
- # FIXME: Detect and summarize leaks of RefCounted objects
-
- self.incorrectLayoutLines = incorrectLayoutLines
-
- def evaluateCommand(self, cmd):
- if self.incorrectLayoutLines:
- if len(self.incorrectLayoutLines) == 1:
- line = self.incorrectLayoutLines[0]
- if line.find('were new') >= 0 or line.find('was new') >= 0 or line.find(' leak') >= 0:
- return WARNINGS
-
- return FAILURE
-
- if cmd.rc != 0:
- return FAILURE
-
- return SUCCESS
-
- def getText(self, cmd, results):
- return self.getText2(cmd, results)
-
- def getText2(self, cmd, results):
- if results != SUCCESS and self.incorrectLayoutLines:
- return self.incorrectLayoutLines
-
- return [self.name]
-
-
-class NewRunWebKitTests(RunWebKitTests):
- command = ["python", "./WebKitTools/Scripts/new-run-webkit-tests", "--noshow-results",
- "--verbose", "--results-directory", "layout-test-results",
- "--builder-name", WithProperties("%(buildername)s"),
- "--build-number", WithProperties("%(buildnumber)s"),
- "--master-name", "webkit.org",
- "--test-results-server", "test-results.appspot.com",
- WithProperties("--%(configuration)s"), "--use-drt"]
-
-
-class RunPythonTests(shell.Test):
- name = "webkitpy-test"
- description = ["python-tests running"]
- descriptionDone = ["python-tests"]
- command = ["python", "./WebKitTools/Scripts/test-webkitpy"]
-
-
-class RunPerlTests(shell.Test):
- name = "webkitperl-test"
- description = ["perl-tests running"]
- descriptionDone = ["perl-tests"]
- command = ["perl", "./WebKitTools/Scripts/test-webkitperl"]
-
-
-class RunGtkAPITests(shell.Test):
- name = "API tests"
- description = ["API tests running"]
- descriptionDone = ["API tests"]
- command = ["perl", "./WebKitTools/Scripts/run-gtk-tests", WithProperties("--%(configuration)s")]
-
- def commandComplete(self, cmd):
- shell.Test.commandComplete(self, cmd)
-
- logText = cmd.logs['stdio'].getText()
- incorrectLines = []
- for line in logText.splitlines():
- if line.startswith('ERROR'):
- incorrectLines.append(line)
-
- self.incorrectLines = incorrectLines
-
- def evaluateCommand(self, cmd):
- if self.incorrectLines:
- return FAILURE
-
- if cmd.rc != 0:
- return FAILURE
-
- return SUCCESS
-
- def getText(self, cmd, results):
- return self.getText2(cmd, results)
-
- def getText2(self, cmd, results):
- if results != SUCCESS and self.incorrectLines:
- return ["%d API tests failed" % len(self.incorrectLines)]
-
- return [self.name]
-
-class RunQtAPITests(shell.Test):
- name = "API tests"
- description = ["API tests running"]
- descriptionDone = ["API tests"]
- command = ["python", "./WebKitTools/Scripts/run-qtwebkit-tests",
- "--output-file=qt-unit-tests.html", "--do-not-open-results",
- WithProperties("WebKitBuild/%(configuration_pretty)s/WebKit/qt/tests/")]
-
- def start(self):
- self.setProperty("configuration_pretty", self.getProperty("configuration").title())
- return shell.Test.start(self)
-
- def commandComplete(self, cmd):
- shell.Test.commandComplete(self, cmd)
-
- logText = cmd.logs['stdio'].getText()
- foundItems = re.findall("TOTALS: (?P<passed>\d+) passed, (?P<failed>\d+) failed, (?P<skipped>\d+) skipped", logText)
-
- self.incorrectTests = 0
- self.statusLine = []
-
- if foundItems:
- self.incorrectTests = int(foundItems[0][1])
- if self.incorrectTests > 0:
- self.statusLine = [
- "%s passed, %s failed, %s skipped" % (foundItems[0][0], foundItems[0][1], foundItems[0][2])
- ]
-
- def evaluateCommand(self, cmd):
- if self.incorrectTests:
- return WARNINGS
-
- if cmd.rc != 0:
- return FAILURE
-
- return SUCCESS
-
- def getText(self, cmd, results):
- return self.getText2(cmd, results)
-
- def getText2(self, cmd, results):
- if results != SUCCESS and self.incorrectTests:
- return self.statusLine
-
- return [self.name]
-
-class RunWebKitLeakTests(RunWebKitTests):
- def start(self):
- self.setCommand(self.command + ["--leaks"])
- return RunWebKitTests.start(self)
-
-
-class RunWebKit2Tests(RunWebKitTests):
- def start(self):
- self.setCommand(self.command + ["--webkit-test-runner"])
- return RunWebKitTests.start(self)
-
-
-class RunChromiumWebKitUnitTests(shell.Test):
- name = "webkit-unit-tests"
- description = ["webkit-unit-tests running"]
- descriptionDone = ["webkit-unit-tests"]
- command = ["perl", "./WebKitTools/Scripts/run-chromium-webkit-unit-tests",
- WithProperties("--%(configuration)s")]
-
-
-class ArchiveTestResults(shell.ShellCommand):
- command = ["python", "./WebKitTools/BuildSlaveSupport/test-result-archive",
- WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), "archive"]
- name = "archive-test-results"
- description = ["archiving test results"]
- descriptionDone = ["archived test results"]
- haltOnFailure = True
-
-
-class UploadTestResults(transfer.FileUpload):
- slavesrc = "layout-test-results.zip"
- masterdest = WithProperties("public_html/results/%(buildername)s/r%(got_revision)s (%(buildnumber)s).zip")
-
- def __init__(self):
- transfer.FileUpload.__init__(self, self.slavesrc, self.masterdest)
-
-
-class ExtractTestResults(master.MasterShellCommand):
- zipFile = WithProperties("public_html/results/%(buildername)s/r%(got_revision)s (%(buildnumber)s).zip")
- resultDirectory = WithProperties("public_html/results/%(buildername)s/r%(got_revision)s (%(buildnumber)s)")
-
- def __init__(self):
- master.MasterShellCommand.__init__(self, "")
-
- def start(self):
- self.command = ["ditto", "-k", "-x", "-V", self.build.getProperties().render(self.zipFile), self.build.getProperties().render(self.resultDirectory)]
- return master.MasterShellCommand.start(self)
-
- def finished(self, result):
- url = self.build.getProperties().render(self.resultDirectory).replace("public_html/", "/")
- self.addURL("view results", url)
- result = master.MasterShellCommand.finished(self, result)
- self.step_status.setText(["uploaded results"])
- return result
-
-
-class Factory(factory.BuildFactory):
- def __init__(self, platform, configuration, architectures, buildOnly):
- factory.BuildFactory.__init__(self)
- self.addStep(ConfigureBuild, platform=platform, configuration=configuration, architecture=" ".join(architectures), buildOnly=buildOnly)
- self.addStep(CheckOutSource)
- if platform == "win":
- self.addStep(KillOldProcesses)
- self.addStep(InstallWin32Dependencies)
- if platform.startswith("chromium"):
- self.addStep(InstallChromiumDependencies)
-
-class BuildFactory(Factory):
- def __init__(self, platform, configuration, architectures, triggers=None):
- Factory.__init__(self, platform, configuration, architectures, True)
- self.addStep(CompileWebKit)
- if triggers:
- self.addStep(ArchiveBuiltProduct)
- self.addStep(UploadBuiltProduct)
- self.addStep(trigger.Trigger, schedulerNames=triggers)
-
-class TestFactory(Factory):
- TestClass = RunWebKitTests
- def __init__(self, platform, configuration, architectures):
- Factory.__init__(self, platform, configuration, architectures, False)
- self.addStep(DownloadBuiltProduct)
- self.addStep(ExtractBuiltProduct)
- self.addStep(RunJavaScriptCoreTests, skipBuild=True)
- self.addStep(self.TestClass, skipBuild=(platform == 'win'))
- # Tiger's Python 2.3 is too old. WebKit Python requires 2.5+.
- # Sadly we have no way to detect the version on the slave from here.
- if platform != "mac-tiger":
- self.addStep(RunPythonTests)
- self.addStep(RunPerlTests)
- self.addStep(ArchiveTestResults)
- self.addStep(UploadTestResults)
- self.addStep(ExtractTestResults)
-
-class BuildAndTestFactory(Factory):
- TestClass = RunWebKitTests
- def __init__(self, platform, configuration, architectures):
- Factory.__init__(self, platform, configuration, architectures, False)
- if platform == "chromium-linux":
- self.addStep(CleanupChromiumLinuxCrashLogs)
- self.addStep(CompileWebKit)
- if not platform.startswith("chromium"):
- self.addStep(RunJavaScriptCoreTests)
- if platform.startswith("chromium"):
- self.addStep(RunChromiumWebKitUnitTests)
- self.addStep(self.TestClass)
- # Tiger's Python 2.3 is too old. WebKit Python requires 2.5+.
- # Sadly we have no way to detect the version on the slave from here.
- if platform != "mac-tiger":
- self.addStep(RunPythonTests)
- self.addStep(RunPerlTests)
- self.addStep(ArchiveTestResults)
- self.addStep(UploadTestResults)
- self.addStep(ExtractTestResults)
- if platform == "gtk":
- self.addStep(RunGtkAPITests)
- if platform == "qt":
- self.addStep(RunQtAPITests)
-
-class BuildAndTestLeaksFactory(BuildAndTestFactory):
- TestClass = RunWebKitLeakTests
-
-class NewBuildAndTestFactory(BuildAndTestFactory):
- TestClass = NewRunWebKitTests
-
-class TestWebKit2Factory(TestFactory):
- TestClass = RunWebKit2Tests
-
-class PlatformSpecificScheduler(AnyBranchScheduler):
- def __init__(self, platform, branch, **kwargs):
- self.platform = platform
- filter = ChangeFilter(branch=[branch, None], filter_fn=self.filter)
- AnyBranchScheduler.__init__(self, name=platform, change_filter=filter, **kwargs)
-
- def filter(self, change):
- return wkbuild.should_build(self.platform, change.files)
-
-trunk_filter = ChangeFilter(branch=["trunk", None])
-
-def loadBuilderConfig(c):
- # FIXME: These file handles are leaked.
- passwords = simplejson.load(open('passwords.json'))
- config = simplejson.load(open('config.json'))
-
- # use webkitpy's buildbot module to test for core builders
- wkbb = wkbuildbot()
-
- c['slaves'] = [BuildSlave(slave['name'], passwords[slave['name']], max_builds=1) for slave in config['slaves']]
-
- c['schedulers'] = []
- for scheduler in config['schedulers']:
- if "change_filter" in scheduler:
- scheduler["change_filter"] = globals()[scheduler["change_filter"]]
- kls = globals()[scheduler.pop('type')]
- c['schedulers'].append(kls(**scheduler))
-
- c['builders'] = []
- for builder in config['builders']:
- for slaveName in builder['slavenames']:
- for slave in config['slaves']:
- if slave['name'] != slaveName or slave['platform'] == '*':
- continue
-
- if slave['platform'] != builder['platform']:
- raise Exception, "Builder %r is for platform %r but has slave %r for platform %r!" % (builder['name'], builder['platform'], slave['name'], slave['platform'])
-
- break
-
- factory = globals()["%sFactory" % builder.pop('type')]
- factoryArgs = []
- for key in "platform", "configuration", "architectures", "triggers":
- value = builder.pop(key, None)
- if value:
- factoryArgs.append(value)
-
- builder["factory"] = factory(*factoryArgs)
-
- builder["category"] = "noncore"
- if wkbb._is_core_builder(builder['name']):
- builder["category"] = "core"
-
- c['builders'].append(builder)
-
-loadBuilderConfig(c)
-
-c['change_source'] = PBChangeSource()
-
-c['status'] = []
-c['status'].append(html.WebStatus(http_port=8710, allowForce=True))
-
-c['slavePortnum'] = 17000
-c['projectName'] = "WebKit"
-c['projectURL'] = "http://webkit.org"
-c['buildbotURL'] = "http://build.webkit.org/"
-
-c['buildHorizon'] = 1000
-c['logHorizon'] = 500
-c['eventHorizon'] = 200
-c['buildCacheSize'] = 60
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/buildbot.css b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/buildbot.css
deleted file mode 100644
index a71c81f..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/buildbot.css
+++ /dev/null
@@ -1,382 +0,0 @@
-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;
-}
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/default.css b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/default.css
deleted file mode 100644
index 4223807..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/default.css
+++ /dev/null
@@ -1,524 +0,0 @@
-div.header { display: none; }
-body > hr { display: none; }
-div.content h1 { display: none; }
-
-body.interface {
- 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;
-}
-
-.Project {
- min-width: 6em;
-}
-
-.LastBuild,.Activity {
- padding: 0 0 0 4px;
-}
-
-/* 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: #8FDF5F;
- border-color: #4F8530;
-}
-
-.failure {
- color: #FFFFFF;
- background-color: #E98080;
- border-color: #A77272;
-}
-
-.warnings {
- color: #FFFFFF;
- background-color: #FFC343;
- border-color: #C29D46;
-}
-
-.exception {
- color: #FFFFFF;
- background-color: #E0B0FF;
- border-color: #ACA0B3;
-}
-
-.start,.running,td.building {
- color: #666666;
- background-color: #FFFC6C;
- border-color: #C5C56D;
-}
-
-.offline,td.offline {
- color: #FFFFFF;
- background-color: #E0B0FF;
- 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: #d6d6d6;
-}
-
-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;
-}
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/robots.txt b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/robots.txt
deleted file mode 100644
index 579297c..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/robots.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-User-agent: *
-Disallow: /waterfall
-Disallow: /builders
-Disallow: /changes
-Disallow: /buildslaves
-Disallow: /schedulers
-Disallow: /one_line_per_build
-Disallow: /one_box_per_builder
-Disallow: /xmlrpc
-Disallow: /grid
-Disallow: /tgrid
-Disallow: /console
-Disallow: /results
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/templates/root.html b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/templates/root.html
deleted file mode 100755
index c6d2343..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/templates/root.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>
-</head>
-
-<body>
-<h1>Welcome to the Buildbot!</h1>
-
-<ul>
- <li><a href="console?category=core">Core Console</a></li>
- <li><a href="waterfall?category=core">Core Waterfall</a></li>
- <li><a href="console">Console</a></li>
- <li><a href="waterfall">Waterfall Display</a> will give you a time-oriented summary of recent buildbot activity.</li>
- <li><a href="one_box_per_builder">Latest Build</a> for each builder is here.</li>
- <li><a href="one_line_per_build">Recent Builds</a> are summarized here, one per line.</li>
- <li><a href="buildslaves">Buildslave</a> information</li>
- <li><a href="http://webkit-commit-queue.appspot.com/">Commit Queue Status</a> information.</li>
- <li><a href="changes">ChangeSource</a> information.</li>
- <li><a href="results">Test Results</a></li>
-</ul>
-</body> </html>
-
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/__init__.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/__init__.py
deleted file mode 100644
index f81fcae..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/__init__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from webkit import auth, status, builders, schedulers
-reload(auth)
-reload(status)
-reload(builders)
-reload(schedulers)
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/auth.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/auth.py
deleted file mode 100644
index b182e16..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/auth.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from buildbot.buildslave import BuildSlave
-
-def getSlaveAuthenticationDetails():
- def createBuildSlave((name, password)):
- return BuildSlave(name, password, max_builds=1)
- return map(createBuildSlave, _getSlaveAuthenticationDetails())
-
-def _getSlaveAuthenticationDetails():
- return [("slave-name", "password")]
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py
deleted file mode 100644
index 8bba881..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py
+++ /dev/null
@@ -1,51 +0,0 @@
-from buildbot.steps import shell, source
-import os
-
-
-def buildStepWithDefaultTimeout(klass, default_timeout=75*60):
- class Step(klass):
- timeout = default_timeout
- def __init__(self, *args, **kwargs):
- kwargs['timeout'] = self.timeout
- klass.__init__(self, *args, **kwargs)
-
- return Step
-
-
-Test = buildStepWithDefaultTimeout(shell.Test)
-Compile = buildStepWithDefaultTimeout(shell.Compile)
-ShellCommand = buildStepWithDefaultTimeout(shell.ShellCommand)
-SVN = buildStepWithDefaultTimeout(source.SVN)
-
-
-class UploadCommand:
- def initializeForUpload(self):
- try:
- try:
- umask = os.umask(0)
- os.makedirs(self.getDestinationPath(), 042770)
- except OSError, e:
- if e.errno != 17:
- raise
- finally:
- os.umask(umask)
-
- def getDestinationPath(self):
- return "/home/buildresults%s" % (self.getURLPath(), )
-
- def getRemotePath(self):
- return "buildresults@build.webkit.org:%s" % (self.getDestinationPath(), )
-
- def getURLPath(self):
- return '/results/%s/%s/' % (self.getBuild().builder.name, self.getBuild().getProperty("buildnumber"), )
-
- def getBuild(self):
- return self.build
-
-
- def getText(self, cmd, results):
- return self.getText2(cmd, results)
-
- def getText2(self, cmd, results):
- return ['<a href="%s">%s</a>' % (self.getURLPath(), self.name)]
-
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/builders.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/builders.py
deleted file mode 100644
index a79011c..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/builders.py
+++ /dev/null
@@ -1,51 +0,0 @@
-from webkit.factories import *
-
-allWinBuilders = ['apple-slave-7', 'apple-slave-2'] # pewtermoose-slave-1
-allMacPPCBuilders = ['apple-slave-1', 'apple-slave-3', 'apple-slave-6']
-allMacIntelBuilders = ['bdash-slave-1', 'bdash-slave-2']
-macIntelPixelBuilders = ['apple-slave-8']
-allQtLinuxBuilders = ['webtroll-slave-1']
-allQtWinBuilders = ['qt-slave-2']
-allGtkLinuxBuilders = ['zecke-slave-1']
-allWxMacBuilders = ['kollivier-slave-1']
-
-# apple-slave-4 is currently giving incomprehensible ICEs when compiling:
-# WebKit/History/WebBackForwardList.mm: In function 'WebHistoryItem* -[WebBackForwardList currentItem](WebBackForwardList*, objc_selector*)':
-# WebKit/History/WebBackForwardList.mm:178: internal compiler error: Bus error
-
-# apple-slave-5 is currently giving incomprehensible link errors:
-# WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/Objects-normal/ppc/pcre_tables.o r_address (0x34a10d) field of relocation entry 12 in section (__DWARFA,__debug_info) out of range
-# /usr/bin/libtool: internal link edit command failed
-
-
-_builders = [('trunk-mac-ppc-release', StandardBuildFactory, allMacPPCBuilders, False),
- ('trunk-mac-intel-release', StandardBuildFactory, allMacIntelBuilders, False),
-# ('trunk-mac-ppc-debug', LeakBuildFactory, allMacPPCBuilders, False),
- ('trunk-mac-intel-debug', LeakBuildFactory, allMacIntelBuilders, False),
- ('trunk-mac-intel-pixel', PixelTestBuildFactory, macIntelPixelBuilders, False),
-# ('trunk-win-release', Win32BuildFactory, allWinBuilders, False),
- ('trunk-win-debug', Win32BuildFactory, allWinBuilders, False),
- ('trunk-qt-linux-release', QtBuildFactory, allQtLinuxBuilders, False),
- ('trunk-qt-win-release', QtBuildFactory, allQtWinBuilders, False),
- ('trunk-gtk-linux-release', GtkBuildFactory, allGtkLinuxBuilders, False),
- ('trunk-wx-mac-debug', WxBuildFactory, allWxMacBuilders, False),
-
-# ('trunk-mac-intel-coverage', CoverageDataBuildFactory, ['bdash-slave-1'], True),
-# ('trunk-mac-intel-nosvg', NoSVGBuildFactory, ['bdash-slave-2'], True),
-
-# ('stable-mac-ppc-release', StandardBuildFactory, allMacPPCBuilders, False),
-# ('stable-mac-intel-release', StandardBuildFactory, allMacIntelBuilders, False),
-# ('stable-mac-ppc-debug', LeakBuildFactory, allMacPPCBuilders, False),
-# ('stable-mac-intel-debug', LeakBuildFactory, allMacIntelBuilders, False),
-# ('stable-win-release', Win32BuildFactory, allWinBuilders, False),
- ]
-
-def getBuilders():
- result = []
- for name, factory, slaves, periodic in _builders:
- result.append({'name': name,
- 'slavenames': slaves,
- 'builddir': name,
- 'factory': factory(),
- 'periodic': periodic})
- return result
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/factories.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/factories.py
deleted file mode 100644
index 59eb9cd..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/factories.py
+++ /dev/null
@@ -1,109 +0,0 @@
-from webkit.steps import *
-from buildbot.process import factory
-
-s = factory.s
-
-class BuildFactory(factory.BuildFactory):
- useProgress = False
- def __init__(self):
- factory.BuildFactory.__init__(self, [s(CheckOutSource)])
-
-class StandardBuildFactory(BuildFactory):
- def __init__(self):
- BuildFactory.__init__(self)
- self.steps.append(s(SetConfiguration, configuration="release"))
- self.addCompileStep()
- self.addJavaScriptCoreTestStep()
- self.addLayoutTestStep()
- self.steps.append(s(UploadLayoutResults))
-# self.steps.append(s(UploadDiskImage))
-
- def addCompileStep(self):
- self.steps.append(s(CompileWebKit, configuration="release"))
-
- def addJavaScriptCoreTestStep(self):
- self.steps.append(s(JavaScriptCoreTest))
-
- def addLayoutTestStep(self):
- self.steps.append(s(LayoutTest))
-
-
-class NoSVGBuildFactory(StandardBuildFactory):
- def addCompileStep(self):
- self.steps.append(s(CompileWebKitNoSVG, configuration="release"))
-
-
-class PixelTestBuildFactory(BuildFactory):
- def __init__(self):
- BuildFactory.__init__(self)
- self.steps.append(s(SetConfiguration, configuration="release"))
- self.steps.append(s(CompileWebKit, configuration="release"))
- self.steps.append(s(PixelLayoutTest))
- self.steps.append(s(UploadLayoutResults))
-
-
-class LeakBuildFactory(BuildFactory):
- def __init__(self):
- BuildFactory.__init__(self)
- self.steps.append(s(SetConfiguration, configuration="debug"))
- self.steps.append(s(CompileWebKit, configuration="debug"))
- self.steps.append(s(JavaScriptCoreTest))
- self.steps.append(s(LeakTest))
- self.steps.append(s(UploadLayoutResults))
-# self.steps.append(s(UploadDiskImage))
-
-
-class PageLoadTestBuildFactory(BuildFactory):
- def __init__(self):
- BuildFactory.__init__(self)
- self.steps.append(s(CompileWebKit, configuration="release"))
- self.steps.append(s(PageLoadTest))
-
-
-class Win32BuildFactory(StandardBuildFactory):
- def addCompileStep(self):
- self.steps.append(s(InstallWin32Dependencies))
- self.steps.append(s(SetConfiguration, configuration="debug"))
- self.steps.append(s(CompileWebKitWindows, configuration="debug"))
-
- def addLayoutTestStep(self):
- self.steps.append(s(LayoutTestWindows))
-
-class GtkBuildFactory(StandardBuildFactory):
- def addCompileStep(self):
-# self.steps.append(s(CleanWebKitGtk, configuration="release"))
- self.steps.append(s(CompileWebKitGtk, configuration="release"))
-
- def addJavaScriptCoreTestStep(self):
- self.steps.append(s(JavaScriptCoreTestGtk))
-
- def addLayoutTestStep(self):
- pass
-
-
-class WxBuildFactory(StandardBuildFactory):
- def addCompileStep(self):
- self.steps.append(s(CleanWebKitWx, configuration="release"))
- self.steps.append(s(CompileWebKitWx, configuration="release"))
-
- def addJavaScriptCoreTestStep(self):
- self.steps.append(s(JavaScriptCoreTestWx))
-
- def addLayoutTestStep(self):
- pass
-
-
-class QtBuildFactory(StandardBuildFactory):
- def addCompileStep(self):
- self.steps.append(s(CleanWebKit, configuration="release"))
- self.steps.append(s(CompileWebKit, configuration="release"))
-
- def addLayoutTestStep(self):
- pass # self.steps.append(s(LayoutTestQt))
-
-
-class CoverageDataBuildFactory(BuildFactory):
- def __init__(self):
- BuildFactory.__init__(self)
- self.steps.append(s(GenerateCoverageData))
- self.steps.append(s(UploadCoverageData))
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/schedulers.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/schedulers.py
deleted file mode 100644
index 4bece4f..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/schedulers.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from buildbot.scheduler import AnyBranchScheduler, Periodic
-
-def getSchedulers(builders):
- builders = map(lambda builder: (builder['name'], builder['periodic']), builders)
- trunkBuilders = [name for name, periodic in builders if name.startswith('trunk-') and not periodic]
- trunkBuilders.sort()
- stableBuilders = [name for name, periodic in builders if name.startswith('stable-') and not periodic]
- stableBuilders.sort()
- periodicBuilders = [name for name, periodic in builders if periodic]
- periodicBuilders.sort()
-
- trunk = AnyBranchScheduler(name="trunk", branches=['trunk'], treeStableTimer=90, builderNames=trunkBuilders)
-# stable = AnyBranchScheduler(name="stable", branches=['branches/Safari-3-1-branch'], treeStableTimer=90, builderNames=stableBuilders)
- periodic = Periodic("periodic", periodicBuilders, 6 * 60 * 60)
-
- return [trunk, periodic]
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/status.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/status.py
deleted file mode 100644
index a7228ef..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/status.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from buildbot.status import html, mail, words
-
-web = html.WebStatus(http_port=8010)
-
-allBuildsEmail = mail.MailNotifier(fromaddr="buildbot@webkit.org",
- extraRecipients=["mark+webkit-builds@bdash.net.nz"],
- sendToInterestedUsers=False)
-breakageEmail = mail.MailNotifier(fromaddr="buildbot@webkit.org",
- lookup=mail.Domain("webkit.org"),
- mode="failing")
-
-IRC = words.IRC(host="irc.freenode.net",
- nick="webkit-build",
- channels=["#webkit-build"],
-# announceAllBuilds=True
- )
-
-def getStatusListeners():
- return [web, allBuildsEmail, IRC]
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/steps.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/steps.py
deleted file mode 100644
index e518c2c..0000000
--- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/steps.py
+++ /dev/null
@@ -1,262 +0,0 @@
-from webkit.basesteps import ShellCommand, SVN, Test, Compile, UploadCommand
-from buildbot.status.builder import SUCCESS, FAILURE, WARNINGS
-
-class CheckOutSource(SVN):
- baseURL = "http://svn.webkit.org/repository/webkit/"
- mode = "update"
- def __init__(self, *args, **kwargs):
- SVN.__init__(self, baseURL=self.baseURL, defaultBranch="trunk", mode=self.mode, *args, **kwargs)
-
-class SetConfiguration(ShellCommand):
- command = ["perl", "./WebKitTools/Scripts/set-webkit-configuration"]
-
- def __init__(self, *args, **kwargs):
- configuration = kwargs.pop('configuration')
- self.command = self.command + ['--' + configuration]
- self.name = "set-configuration-%s" % (configuration, )
- self.description = ["set configuration %s" % (configuration, )]
- self.descriptionDone = ["set configuration %s" % (configuration, )]
- ShellCommand.__init__(self, *args, **kwargs)
-
-
-class LayoutTest(Test):
- name = "layout-test"
- description = ["layout-tests running"]
- descriptionDone = ["layout-tests"]
- command = ["perl", "./WebKitTools/Scripts/run-webkit-tests", "--no-launch-safari", "--no-new-test-results", "--no-sample-on-timeout", "--results-directory", "layout-test-results"]
-
- def commandComplete(self, cmd):
- Test.commandComplete(self, cmd)
-
- logText = cmd.logs['stdio'].getText()
- incorrectLayoutLines = [line for line in logText.splitlines() if line.find('had incorrect layout') >= 0 or (line.find('test case') >= 0 and (line.find(' crashed') >= 0 or line.find(' timed out') >= 0))]
- self.incorrectLayoutLines = incorrectLayoutLines
-
- def evaluateCommand(self, cmd):
- if self.incorrectLayoutLines or cmd.rc != 0:
- return FAILURE
-
- return SUCCESS
-
- def getText(self, cmd, results):
- return self.getText2(cmd, results)
-
- def getText2(self, cmd, results):
- if results != SUCCESS and self.incorrectLayoutLines:
- return self.incorrectLayoutLines
-
- return [self.name]
-
-
-class JavaScriptCoreTest(Test):
- name = "jscore-test"
- description = ["jscore-tests running"]
- descriptionDone = ["jscore-tests"]
- command = ["perl", "./WebKitTools/Scripts/run-javascriptcore-tests"]
- logfiles = {'results': 'JavaScriptCore/tests/mozilla/actual.html'}
-
- def commandComplete(self, cmd):
- Test.commandComplete(self, cmd)
-
- logText = cmd.logs['stdio'].getText()
- statusLines = [line for line in logText.splitlines() if line.find('regression') >= 0 and line.find(' found.') >= 0]
- if statusLines and statusLines[0].split()[0] != '0':
- self.regressionLine = statusLines[0]
- else:
- self.regressionLine = None
-
- def evaluateCommand(self, cmd):
- if self.regressionLine:
- return FAILURE
-
- if cmd.rc != 0:
- return FAILURE
-
- return SUCCESS
-
- def getText(self, cmd, results):
- return self.getText2(cmd, results)
-
- def getText2(self, cmd, results):
- if results != SUCCESS and self.regressionLine:
- return [self.name, self.regressionLine]
-
- return [self.name]
-
-class PixelLayoutTest(LayoutTest):
- name = "pixel-layout-test"
- description = ["pixel-layout-tests running"]
- descriptionDone = ["pixel-layout-tests"]
- command = LayoutTest.command + ["--pixel", "--tolerance", "0.1"]
-
-
-class LeakTest(LayoutTest):
- command = ["perl", "./WebKitTools/Scripts/run-webkit-tests", "--no-launch-safari", "--no-sample-on-timeout", "--leaks", "--results-directory", "layout-test-results"]
-
- def commandComplete(self, cmd):
- LayoutTest.commandComplete(self, cmd)
-
- logText = cmd.logs['stdio'].getText()
- lines = logText.splitlines()
- leakLines = [line for line in lines if line.find('total leaks found!') >= 0]
- leakLines += [line for line in lines if line.find('LEAK: ') >= 0]
- leakLines = [' '.join(x.split()[1:]) for x in leakLines]
-
- leakSummary = {}
- for line in leakLines:
- count, key = line.split(' ', 1)
- if key.find('total leaks found!') >= 0:
- key = 'allocations found by "leaks" tool'
-
- leakSummary[key] = leakSummary.get(key, 0) + int(count)
-
- leakSummaryLines = []
- for key in sorted(leakSummary.keys()):
- leakSummaryLines.append('%s %s' % (leakSummary[key], key))
-
- self.incorrectLayoutLines += leakSummaryLines
-
-
-class UploadLayoutResults(UploadCommand, ShellCommand):
- name = "upload-results"
- description = ["uploading results"]
- descriptionDone = ["uploaded-results"]
- command = "echo Disabled for now"
-
- def __init__(self, *args, **kwargs):
- ShellCommand.__init__(self, *args, **kwargs)
-
- def setBuild(self, build):
- ShellCommand.setBuild(self, build)
- self.initializeForUpload()
-
- self.command = '''
- if [[ -d layout-test-results ]]; then \
- find layout-test-results -type d -print0 | xargs -0 chmod ug+rx; \
- find layout-test-results -type f -print0 | xargs -0 chmod ug+r; \
- rsync -rlvzP --rsync-path=/home/buildresults/bin/rsync layout-test-results/ %s && rm -rf layout-test-results; \
- fi; \
- CRASH_LOG=~/Library/Logs/CrashReporter/DumpRenderTree*.crash*; \
- if [[ -f $(ls -1 $CRASH_LOG | head -n 1 ) ]]; then \
- chmod ug+r $CRASH_LOG; \
- rsync -rlvzP --rsync-path=/home/buildresults/bin/rsync $CRASH_LOG %s && rm -rf $CRASH_LOG; \
- fi; ''' % (self.getRemotePath(), self.getRemotePath())
-
- self.addFactoryArguments(command=self.command)
-
-
-class CompileWebKit(Compile):
- command = ["perl", "./WebKitTools/Scripts/build-webkit"]
- env = {'WEBKITSUPPORTLIBRARIESZIPDIR': 'C:\\cygwin\\home\\buildbot', 'MFLAGS':''}
- def __init__(self, *args, **kwargs):
- configuration = kwargs.pop('configuration')
-
- self.name = "compile-" + configuration
- self.description = ["compiling " + configuration]
- self.descriptionDone = ["compiled " + configuration]
-
- Compile.__init__(self, env=self.env, *args, **kwargs)
-
-class CleanWebKit(CompileWebKit):
- command = CompileWebKit.command + ['--clean']
- description = ['cleaning']
- descriptionDone = ['cleaned']
-
-class CompileWebKitNoSVG(CompileWebKit):
- command = 'rm -rf WebKitBuild && perl ./WebKitTools/Scripts/build-webkit --no-svg'
-
-class CompileWebKitGtk(CompileWebKit):
- command = ['perl', './WebKitTools/Scripts/build-webkit', '--gtk', '--qmake=qmake-qt4']
-
-class CleanWebKitGtk(CompileWebKitGtk):
- command = CompileWebKitGtk.command + ['--clean']
- description = ['cleaning']
- descriptionDone = ['cleaned']
-
-class CompileWebKitWx(CompileWebKit):
- command = ['perl', './WebKitTools/Scripts/build-webkit', '--wx']
-
-class CleanWebKitWx(CompileWebKitWx):
- command = CompileWebKitWx.command + ['--clean']
- description = ['cleaning']
- descriptionDone = ['cleaned']
-
-class CompileWebKitWindows(UploadCommand, CompileWebKit):
- def setBuild(self, build):
- CompileWebKit.setBuild(self, build)
- self.initializeForUpload()
-
- self.command = '''\
- ./WebKitTools/Scripts/build-webkit; \
- RESULT=$?
- for log in $(find WebKitBuild/*/*/*/*.htm); do \
- chmod ug+r $log; \
- REMOTE_NAME=$(echo $log | sed -e 's|WebKitBuild/obj/||' -e 's|/Release/|-|' -e 's|/Debug/|-|'); \
- rsync -rlvzP --rsync-path="/home/buildresults/bin/rsync" $log %s/$REMOTE_NAME && rm $log; \
- done; \
- exit $RESULT;''' % (self.getRemotePath(), )
-
- self.addFactoryArguments(command=self.command)
-
-class LayoutTestWindows(LayoutTest):
- env = {'WEBKIT_TESTFONTS': 'C:\\cygwin\\home\\buildbot\\WebKitTestFonts'}
-
- def __init__(self, *args, **kwargs):
- return LayoutTest.__init__(self, env=self.env, *args, **kwargs)
-
-
-class JavaScriptCoreTestGtk(JavaScriptCoreTest):
- command = JavaScriptCoreTest.command + ['--gtk']
-
-class JavaScriptCoreTestWx(JavaScriptCoreTest):
- command = JavaScriptCoreTest.command + ['--wx']
-
-class LayoutTestQt(LayoutTest):
- command = LayoutTest.command + ['--qt']
-
-class InstallWin32Dependencies(ShellCommand):
- description = ["installing Windows dependencies"]
- descriptionDone = ["installed Windows dependencies"]
- command = ["perl", "./WebKitTools/Scripts/update-webkit-auxiliary-libs"]
-
-
-# class UploadDiskImage(UploadCommand, ShellCommand):
-# description = ["uploading disk image"]
-# descriptionDone = ["uploaded disk image"]
-# name = "upload-disk-image"
-
-# def __init__(self, *args, **kwargs):
-# UploadCommand.__init__(self, *args, **kwargs)
-# self.command = 'umask 002 && ./WebKitTools/BuildSlaveSupport/build-launcher-app && ./WebKitTools/BuildSlaveSupport/build-launcher-dmg --upload-to-host %s' % (self.getRemotePath(), )
-# ShellCommand.__init__(self, *args, **kwargs)
-
-class GenerateCoverageData(Compile):
- command = ["perl", "./WebKitTools/Scripts/generate-coverage-data"]
- description = ["generating coverage data"]
- descriptionDone = ["generated coverage data"]
-
-
-class UploadCoverageData(UploadCommand, ShellCommand):
- name = "upload-coverage-data"
- description = ["uploading coverage data"]
- descriptionDone = ["uploaded-coverage-data"]
- command = "echo Disabled for now"
-
- def __init__(self, *args, **kwargs):
- ShellCommand.__init__(self, *args, **kwargs)
-
- def setBuild(self, build):
- ShellCommand.setBuild(self, build)
- self.initializeForUpload()
-
- self.command = '''\
- if [[ -d WebKitBuild/Coverage/html ]]; then \
- find WebKitBuild/Coverage/html -type d -print0 | xargs -0 chmod ug+rx; \
- find WebKitBuild/Coverage/html -type f -print0 | xargs -0 chmod ug+r; \
- rsync -rlvzP --rsync-path="/home/buildresults/bin/rsync" WebKitBuild/Coverage/html/ %s && rm -rf WebKitBuild/Coverage/html; \
- fi;''' % (self.getRemotePath(), )
-
- self.addFactoryArguments(command=self.command)
-
- def getURLPath(self):
- return "/results/code-coverage/"
diff --git a/WebKitTools/BuildSlaveSupport/built-product-archive b/WebKitTools/BuildSlaveSupport/built-product-archive
deleted file mode 100644
index b27cf77..0000000
--- a/WebKitTools/BuildSlaveSupport/built-product-archive
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) 2009 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import optparse, os, shutil, subprocess, sys
-
-buildDirectory = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "WebKitBuild"))
-
-def main():
- parser = optparse.OptionParser("usage: %prog [options] [action]")
- parser.add_option("--platform", dest="platform")
- parser.add_option("--debug", action="store_const", const="debug", dest="configuration")
- parser.add_option("--release", action="store_const", const="release", dest="configuration")
-
- options, (action, ) = parser.parse_args()
- if not options.platform:
- parser.error("Platform is required")
- if not options.configuration:
- parser.error("Configuration is required")
- if action not in ('archive', 'extract'):
- parser.error("Action is required")
-
- if action == 'archive':
- archiveBuiltProduct(options.configuration, options.platform)
- else:
- extractBuiltProduct(options.configuration, options.platform)
-
-
-def archiveBuiltProduct(configuration, platform):
- assert platform in ('mac', 'win','qt')
-
- archiveFile = os.path.join(buildDirectory, configuration + ".zip")
-
- try:
- os.unlink(archiveFile)
- except OSError, e:
- if e.errno != 2:
- raise
-
- if platform == 'mac':
- configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
- return subprocess.call(["ditto", "-c", "-k", "--keepParent", "--sequesterRsrc", configurationBuildDirectory, archiveFile])
- elif platform == 'win':
- binDirectory = os.path.join(buildDirectory, "bin")
- thinDirectory = os.path.join(buildDirectory, "thin")
- thinBinDirectory = os.path.join(thinDirectory, "bin")
-
- if os.path.isdir(thinDirectory):
- shutil.rmtree(thinDirectory)
- os.mkdir(thinDirectory)
-
- if subprocess.call(["cp", "-R", binDirectory, thinBinDirectory]):
- return 1
-
- if subprocess.call("rm -f %s" % os.path.join(thinBinDirectory, "*.ilk"), shell=True):
- return 1
-
- if subprocess.call(["zip", "-r", archiveFile, "bin"], cwd=thinDirectory):
- return 1
-
- shutil.rmtree(thinDirectory)
-
- elif platform == 'qt':
- configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
- thinDirectory = os.path.join(configurationBuildDirectory, "thin")
-
- if os.path.isdir(thinDirectory):
- shutil.rmtree(thinDirectory)
- os.mkdir(thinDirectory)
-
- for dirname in ["bin", "lib", "JavaScriptCore"]:
- fromDir = os.path.join(configurationBuildDirectory, dirname)
- toDir = os.path.join(thinDirectory, dirname)
- if subprocess.call(["cp", "-R", fromDir, toDir]):
- return 1
-
- for root, dirs, files in os.walk(thinDirectory, topdown=False):
- for name in files:
- if name.endswith(".o"):
- os.remove(os.path.join(root, name))
-
- if subprocess.call(["zip", "-y", "-r", archiveFile, "."], cwd=thinDirectory):
- return 1
-
-def extractBuiltProduct(configuration, platform):
- assert platform in ('mac', 'win','qt')
-
- archiveFile = os.path.join(buildDirectory, configuration + ".zip")
-
- if platform == 'mac':
- configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
-
- if os.path.isdir(configurationBuildDirectory):
- shutil.rmtree(configurationBuildDirectory)
-
- if subprocess.call(["ditto", "-x", "-k", archiveFile, buildDirectory]):
- return 1
- os.unlink(archiveFile)
-
- elif platform == 'win':
- binDirectory = os.path.join(buildDirectory, "bin")
- if os.path.isdir(binDirectory):
- shutil.rmtree(binDirectory)
-
- os.mkdir(binDirectory)
-
- safariPath = subprocess.Popen('cygpath -w "$PROGRAMFILES"/Safari',
- shell=True, stdout=subprocess.PIPE).communicate()[0].strip()
-
- if subprocess.call('cp -R "%s"/*.dll "%s"/*.resources %s' % (safariPath, safariPath, binDirectory), shell=True):
- return 1
-
- if subprocess.call(["unzip", "-o", archiveFile], cwd=buildDirectory):
- return 1
-
- elif platform == 'qt':
- configurationBuildDirectory = os.path.join(buildDirectory, configuration.title())
-
- if os.path.isdir(configurationBuildDirectory):
- shutil.rmtree(configurationBuildDirectory)
-
- if subprocess.call(["unzip", "-o", archiveFile, "-d", configurationBuildDirectory], cwd=buildDirectory):
- return 1
- os.unlink(archiveFile)
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/WebKitTools/BuildSlaveSupport/gtk/README b/WebKitTools/BuildSlaveSupport/gtk/README
deleted file mode 100644
index 9e58ae2..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/README
+++ /dev/null
@@ -1,52 +0,0 @@
-==============================================
- Running a GTK+ build slave under daemontools
-==============================================
-
-This directory contains several scripts which can be used to run a WebKitGTK+
-build slave under daemontools [1]. This is convenient because daemontools
-will automatically restart services when they die, and that means less human
-intervention is needed.
-
-
-Dependencies
-============
-
-In order to use the provided service control files, you will need the
-following:
-
-* The GNU Bash shell (the scripts contain some bash-isms)
-
-* The daemontools package (or one of its drop-in replacements, like runit
- or freedt; but only daemontools has been tested so far).
-
-* The crash dump monitor also uses "inotifywait" (part of inotify-tools [2])
-
-In short, in a Debian-based system you can ensure you have the needed bits
-with the following command:
-
- apt-get install inotify-tools daemontools-run
-
-
-Setup
-=====
-
-1. Follow the instructions at http://trac.webkit.org/wiki/BuildBot
-
-2. Install the dependencies outlined above.
-
-3. Copy "daemontools-buildbot.conf" to "/etc/daemontools-buildbot.conf"
-
-4. Edit the configuration file to suit your needs, the comments should
- be self-explanatory.
-
-5. Drop the "buildbot", "pulseaudio" and "xvfb" directories (plus
- "crashmon", if desired) to the service control directory of
- daemontools; for Debian-based setups that would be "/etc/service"
-
-
-References
-==========
-
-[1] http://cr.yp.to/daemontools.html
-[2] http://wiki.github.com/rvoicilas/inotify-tools/
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/buildbot/log/run b/WebKitTools/BuildSlaveSupport/gtk/buildbot/log/run
deleted file mode 100755
index cc2c87e..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/buildbot/log/run
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-: ${BUILDBOT_CONFIG:=/etc/daemontools-buildbot.conf}
-
-# Read configuration file
-[ -r "${BUILDBOT_CONFIG}" ] && . "${BUILDBOT_CONFIG}"
-
-: ${buildbot_user:=${HOME}}
-: ${buildbot_log_path:=/var/log/buildbot}
-
-# Expand all "env_*" environment variables
-for varname in ${!env_*} ; do
- eval "export ${varname#env_}=\${${varname}}"
-done
-
-mkdir -p "${buildbot_log_path}"
-chown "${buildbot_user}" "${buildbot_log_path}"
-
-exec /usr/bin/setuidgid "${buildbot_user}" \
- /usr/bin/multilog t "${buildbot_log_path}"
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/buildbot/run b/WebKitTools/BuildSlaveSupport/gtk/buildbot/run
deleted file mode 100755
index b26fe58..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/buildbot/run
+++ /dev/null
@@ -1,77 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-exec 2>&1
-
-: ${BUILDBOT_CONFIG:=/etc/daemontools-buildbot.conf}
-
-# Read configuration file
-[ -r "${BUILDBOT_CONFIG}" ] && . "${BUILDBOT_CONFIG}"
-
-# Expand all "env_*" environment variables
-for varname in ${!env_*} ; do
- eval "export ${varname#env_}=\${${varname}}"
-done
-
-
-if ! [ "${buildbot_path}" ] ; then
- echo "No \${buildbot_path} defined! (will sleep for 5 minutes)"
- sleep 300
- exit 111
-fi
-
-
-if ! [ "${WEBKIT_TESTFONTS}" ] ; then
- echo "No \${WEBKIT_TESTFONTS} environment variable! (will sleep for 5 minutes)"
- sleep 300
- exit 111
-fi
-
-
-if [ "${coredump_output:=''}" ] ; then
- # Ensure that the output directory exists.
- if [[ ! -d ${crashmon_output} ]] ; then
- mkdir -p "${crashmon_output}"
- fi
-
- ulimit -c "${crashmon_max_size:=unlimited}"
-fi
-
-
-if [ "${ccache_path}" ] ; then
- export PATH="${ccache_path}:${PATH}"
-fi
-
-: ${buildbot_user:=${USER}}
-
-cd "${buildbot_path}"
-exec /usr/bin/env - \
- TERM=dumb \
- TZ=PST8PDT \
- PATH="${PATH}" \
- SHELL=/bin/bash \
- LANG=en_US.UTF-8 \
- USER="${buildbot_user}" \
- LOGNAME="${buildbot_user}" \
- HOME="/home/${buildbot_user}" \
- DISPLAY="${xvfb_display:-':10'}" \
- MAIL="/var/mail/${buildbot_user}" \
- /usr/bin/setuidgid "${buildbot_user}" \
- /usr/bin/twistd -noy buildbot.tac
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/crashmon/crashmon b/WebKitTools/BuildSlaveSupport/gtk/crashmon/crashmon
deleted file mode 100755
index 41705a2..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/crashmon/crashmon
+++ /dev/null
@@ -1,73 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Carlos Lopez <clopez@igalia.com>, Igalia S.L.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-set -e
-
-[ "${coredir}" ] || {
- echo "Env var '\${coredir}' not defined!" >&2
- exit 111
-}
-[ "${programpath}" ] || {
- echo "Env var '\${programpath}' not defined" >&2
- exit 111
-}
-[ "${arch}" ] || {
- echo "Env var '\${arch}' not defined" >&2
- exit 111
-}
-[ "${mailto}" ] || {
- echo "Env var '\${mailto}' not defined" >&2
- exit 111
-}
-
-
-inotifywait -q -m --format '%f' --exclude '.trace.html$' -e close_write "${coredir}" | \
-while read -r coredump
-do
- if grep -qE '^core-when_[[:digit:]]{10\,12}-_-who_[[:print:]]+-_-why_' <<< "${coredump}"
- then
- # Get revision number from Subversion sources
- rev=$(cd "${crashmon_src_path}" && svn info | sed -e '/^Revision:/s/Revision: //p' -e d)
-
- # Get the who from the coredump name
- programfile=$(echo "${coredump}" \
- | awk -F'-_-who_' '{ print $2 }'\
- | awk -F'-_-why_' '{ print $1 }')
-
- # Sometimes programfile gets cut when it is a long name:
- # Search using wildcards
- fullprogrampath=$(find "${programpath}" -executable -name "${programfile}"\* | head -n1)
-
- ( printf "<html><head><title>StackTrace for ${programfile} from svn"
- printf " rev ${rev}</title></head>\n<body>Core dump file: "
- printf "<a href=\"cores/${coredump}\">${coredump}</a><br/>\n"
- printf "<pre>Executable crashed: ${fullprogrampath}</pre>\n"
- printf "<br/><hr><b>Stack Trace:</b><hr><br/>\n<pre>"
-
- gdb -ex "thread apply all bt" --batch "${fullprogrampath}" "${coredump}" 2>&1 \
- | sed -e 's/\&/\&amp/g;s/</\&lt;/g;s/>/\&gt;/g;s/\"/\&quot;/g' -e "s/'/\&\#039;/g"
-
- printf "</pre></body></html>\n"
- ) > "/var/www/svn_${rev}.${coredump}.trace.html"
-
- # Make sure the web server can read it
- chmod 644 "${coredump}"
- fi
-done
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/crashmon/log/run b/WebKitTools/BuildSlaveSupport/gtk/crashmon/log/run
deleted file mode 100755
index 4dcd71f..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/crashmon/log/run
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-: ${BUILDBOT_CONFIG:=/etc/daemontools-buildbot.conf}
-
-# Read configuration file
-[ -r "${BUILDBOT_CONFIG}" ] && . "${BUILDBOT_CONFIG}"
-
-: ${buildbot_user:=${HOME}}
-: ${crashmon_log_path:=/var/log/crashmon}
-
-# Expand all "env_*" environment variables
-for varname in ${!env_*} ; do
- eval "export ${varname#env_}=\${${varname}}"
-done
-
-mkdir -p "${crashmon_log_path}"
-chown "${buildbot_user}" "${crashmon_log_path}"
-
-exec /usr/bin/setuidgid "${buildbot_user}" \
- /usr/bin/multilog t "${crashmon_log_path}"
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/crashmon/run b/WebKitTools/BuildSlaveSupport/gtk/crashmon/run
deleted file mode 100755
index 38be3fe..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/crashmon/run
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-exec 2>&1
-
-: ${BUILDBOT_CONFIG:=/etc/daemontools-buildbot.conf}
-
-# Read configuration file
-[ -r "${BUILDBOT_CONFIG}" ] && . "${BUILDBOT_CONFIG}"
-
-: ${buildbot_user:=${USER:-${LOGNAME}}}
-: ${crashmon_output:=''}
-
-# Expand all "env_*" environment variables
-for varname in ${!env_*} ; do
- eval "export ${varname#env_}=\${${varname}}"
-done
-
-
-if [ ! -d "${crashmon_output}" ]
-then
- if ! [ "${crashmon_output}" ]
- then
- echo "Dump directory '${crashmon_output}' does not exist (sleeping)"
- fi
- sleep $(( 60 * 60 * 4 ))
- exit 111
-fi
-
-
-if ! [ "${buildbot_bits}" ]
-then
- # Guess bits (32/64) from uname -m
- machine=$(uname -m)
- case ${machine} in
- x86_64 | amd64 | ia64 | ppc64)
- buildbot_bits="64" ;;
- *)
- buildbot_bits="32" ;;
- esac
-fi
-
-: ${crashmon_bin_path:="${buildbot_path}/gtk-linux-${buildbot_bits}-debug/build/WebKitBuild/Debug/Programs"}
-
-
-cd "${crashmon_output}"
-exec /usr/bin/env - \
- PATH="${PATH}" \
- SHELL="/bin/bash" \
- USER="${buildbot_user}" \
- arch="${buildbot_bits}" \
- LOGNAME="${buildbot_user}" \
- coredir="${crashmon_output}" \
- HOME="/home/${buildbot_user}" \
- mailto="${crashmon_mailto:-''}" \
- programpath="${crashmon_bin_path}" \
- /usr/bin/setuidgid "${buildbot_user}" "$(pwd)/crashmon"
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/daemontools-buildbot.conf b/WebKitTools/BuildSlaveSupport/gtk/daemontools-buildbot.conf
deleted file mode 100644
index 59c1c0b..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/daemontools-buildbot.conf
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-
-# Path to the Buildbot slave directory
-#
-buildbot_path="/home/slave/webkitgtk"
-
-# User account used to run Buildbot.
-#
-buildbot_user="slave"
-
-# Path to a directory where to log Buildbot output
-#
-buildbot_log_path="/var/log/buildbot"
-
-
-# Display number under which Xvfb will run
-#
-xvfb_display=":10"
-
-# Graphical mode which Xvfb will report to applications
-#
-xvfb_mode="1024x768x24"
-
-# Path to a directory where to log Xvfb error output
-#
-xvfb_log_path="/var/log/xvfb"
-
-
-# Output directory for core dumps. Set this to an empty string to
-# disable recording them.
-#
-crashmon_output="/var/www/webkitgtk-coredumps"
-
-# Maximum size of core dumps. With the default "unlimited" setting
-# it is recommended to have ~20GB for cores in 64-bit machines.
-# For 32-bit bots, less space is needed.
-#
-crashmon_max_size="unlimited"
-
-# Path to a directory where to log crashmon output
-#
-crashmon_log_path="/var/log/crashmon"
-
-# A list of e-mail addresses where to send notifications of core dumps.
-# Leave empty to disable mail notifications.
-#
-# WARNING: E-mail addresses will be flooded with messages!
-#
-crashmon_mailto=""
-
-# Base directory where to find sources and built binaries of which
-# crash dumps are to be catched. Usually you will not need to change this.
-#
-crashmon_src_path="${buildbot_path}/gtk-linux-${buildbot_bits}-debug/build"
-crashmon_bin_path="${crashmon_src_path}/WebKitBuild/Debug/Programs"
-
-
-# If you want to use ccache, set a path to where synlinks with tool
-# names pointing to ccache are installed. In Debian systems this
-# would be /usr/lib/ccache. Set to empty to disable.
-#
-ccache_path="/usr/lib/ccache"
-
-
-# Environment variables. Prefix them with "env_".
-#
-env_CFLAGS="-pipe"
-env_CXXFLAGS="-pipe"
-env_WebKitMakeArguments="-j3"
-env_WEBKIT_TESTFONTS="/home/${buildbot_user}/testfonts"
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/pulseaudio/run b/WebKitTools/BuildSlaveSupport/gtk/pulseaudio/run
deleted file mode 100755
index 37ba0de..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/pulseaudio/run
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-exec 2>&1
-exec /usr/bin/pulseaudio --system \
- --disallow-exit --disallow-module-loading \
- --log-target=syslog
-
diff --git a/WebKitTools/BuildSlaveSupport/gtk/xvfb/log/run b/WebKitTools/BuildSlaveSupport/gtk/xvfb/log/run
deleted file mode 100755
index 1c83922..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/xvfb/log/run
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-: ${BUILDBOT_CONFIG:=/etc/daemontools-buildbot.conf}
-
-# Read configuration file
-[ -r "${BUILDBOT_CONFIG}" ] && . "${BUILDBOT_CONFIG}"
-
-: ${buildbot_user:=${HOME}}
-: ${xvfb_log_path:=/var/log/xvfb}
-
-# Expand all "env_*" environment variables
-for varname in ${!env_*} ; do
- eval "export ${varname#env_}=\${${varname}}"
-done
-
-mkdir -p "${xvfb_log_path}"
-chown "${buildbot_user}" "${xvfb_log_path}"
-
-exec /usr/bin/setuidgid "${buildbot_user}" \
- /usr/bin/multilog t "${xvfb_log_path}"
diff --git a/WebKitTools/BuildSlaveSupport/gtk/xvfb/run b/WebKitTools/BuildSlaveSupport/gtk/xvfb/run
deleted file mode 100755
index 89cd301..0000000
--- a/WebKitTools/BuildSlaveSupport/gtk/xvfb/run
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/bash
-#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; see the file COPYING.LIB. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-exec 2>&1
-
-: ${BUILDBOT_CONFIG:=/etc/daemontools-buildbot.conf}
-
-# Read configuration file
-[ -r "${BUILDBOT_CONFIG}" ] && . "${BUILDBOT_CONFIG}"
-
-: ${xvfb_display:=':10'}
-: ${xvfb_mode:='1024x768x24'}
-
-# Expand all "env_*" environment variables
-for varname in ${!env_*} ; do
- eval "export ${varname#env_}=\${${varname}}"
-done
-
-mkdir -p "xvfb${xvfb_display}"
-exec /usr/bin/Xvfb "${xvfb_display}" \
- -fbdir "xvfb${xvfb_display}" \
- -screen 0 "${xvfb_mode}" \
- -nolisten inet6 \
- -nolisten inet
-
diff --git a/WebKitTools/BuildSlaveSupport/run-performance-tests b/WebKitTools/BuildSlaveSupport/run-performance-tests
deleted file mode 100755
index 5d6ea44..0000000
--- a/WebKitTools/BuildSlaveSupport/run-performance-tests
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/perl -w
-
-# Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
-# its contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Script used by WebKit build slave to kick off performance tests.
-
-use strict;
-
-use FindBin;
-use lib "$FindBin::Bin/../Scripts";
-use webkitdirs;
-
-use Getopt::Long;
-use IO::Socket;
-my $shouldPrebuild = 1;
-
-my $perfMaster = "webkit-build-1.local";
-my $perfSlave = "webkit-build-2.local";
-my $slaveUser = "buildbot";
-my $reportPort = 54481; # Something that looks sorta like SAFARI
-my $slaveDirectory = "/ToTest";
-
-my $buildDirectory = determineConfigurationProductDir();
-
-my $userAndHost = $slaveUser . "@" . $perfSlave;
-my $resultsUploadDestination;
-
-GetOptions('upload-results=s' => \$resultsUploadDestination);
-
-print "Copying built frameworks to PLT slave...\n";
-my @frameworks = ("$buildDirectory/JavaScriptCore.framework", "$buildDirectory/WebCore.framework", "$buildDirectory/WebKit.framework");
-die "Failed to copy to slave\n" unless (system("rsync", "-avz", @frameworks, "$userAndHost:$slaveDirectory") == 0);
-
-print "Opening reponse port for PLT slave...\n";
-my $sock = new IO::Socket::INET(LocalHost => $perfMaster,
- LocalPort => $reportPort,
- Proto => 'tcp',
- Listen => 1,
- Reuse => 1);
-die "Could not create socket for port $reportPort: $!\n" unless $sock;
-
-print "Starting performance tests on PLT slave...\n";
-die "Failed to start slave!\n" unless (system("ssh", $userAndHost, "autovicki", $slaveDirectory, "--safari", "$slaveDirectory/Safari.app", "--count", 5, "--clean-exit", "--webkit-revision", currentSVNRevision(), "--show-results", "send-completed-results.command") == 0);
-
-print "Waiting for PLT slave to respond...\n";
-my $new_sock = $sock->accept();
-while(<$new_sock>) {
- print $_;
-}
-close($sock);
-
-if ($resultsUploadDestination) {
- print "Uploading results to $resultsUploadDestination\n";
- die "Failed to upload xml results file." unless (system("scp", "$userAndHost:/Results/PerformanceReportSummary.xml", $resultsUploadDestination) == 0);
- die "Failed to upload svg results file." unless (system("scp", "$userAndHost:/Results/PerformanceGraph.svg", $resultsUploadDestination) == 0);
-}
diff --git a/WebKitTools/BuildSlaveSupport/test-result-archive b/WebKitTools/BuildSlaveSupport/test-result-archive
deleted file mode 100644
index af66bf0..0000000
--- a/WebKitTools/BuildSlaveSupport/test-result-archive
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) 2009 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import optparse, os, shutil, subprocess, sys, zipfile
-
-sourceRootDirectory = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
-archiveFile = os.path.join(sourceRootDirectory, "layout-test-results.zip")
-
-def main():
- parser = optparse.OptionParser("usage: %prog [options] [action]")
- parser.add_option("--platform", dest="platform")
- parser.add_option("--debug", action="store_const", const="debug", dest="configuration")
- parser.add_option("--release", action="store_const", const="release", dest="configuration")
-
- options, (action, ) = parser.parse_args()
- if not options.platform:
- parser.error("Platform is required")
- if not options.configuration:
- parser.error("Configuration is required")
- if action not in ('archive'):
- parser.error("Action is required")
-
- layoutTestResultsDir = os.path.abspath(os.path.join(sourceRootDirectory, "layout-test-results"))
- if options.platform == 'chromium':
- # See results_directory() in webkitpy/layout_tests/port/chromium.py.
- layoutTestResultsDir = os.path.abspath(os.path.join(sourceRootDirectory,
- "WebKit", "chromium", "webkit", options.configuration.capitalize(),
- "layout-test-results"))
-
- return archiveTestResults(options.configuration, options.platform, layoutTestResultsDir)
-
-def archiveTestResults(configuration, platform, layoutTestResultsDir):
- assert platform in ('mac', 'win', 'gtk', 'qt', 'chromium')
-
- try:
- os.unlink(archiveFile)
- except OSError, e:
- if e.errno != 2:
- raise
-
- try:
- # Ensure that layoutTestResultsDir exists since we cannot archive a directory that does not exist
- os.makedirs(layoutTestResultsDir)
- except OSError, e:
- if e.errno != 17:
- raise
-
- open(os.path.join(layoutTestResultsDir, '.placeholder'), 'w').close()
-
- if platform == 'mac':
- if subprocess.call(["ditto", "-c", "-k", "--sequesterRsrc", layoutTestResultsDir, archiveFile]):
- return 1
- elif platform in ('win', 'gtk', 'qt'):
- if subprocess.call(["zip", "-r", archiveFile, "."], cwd=layoutTestResultsDir):
- return 1
- elif platform == 'chromium':
- cwd = os.getcwd()
- os.chdir(layoutTestResultsDir)
- zipFilesRecursively(archiveFile, ["."])
- os.chdir(cwd)
-
- try:
- shutil.rmtree(layoutTestResultsDir)
- except OSError, e:
-
- # Python in Cygwin throws a mysterious exception with errno of 90
- # when removing the layout test result directory after successfully
- # deleting its contents, claiming "Directory not empty".
- # We can safely ignore this since it was the directory contents that
- # we are most interested in deleting.
- if e.errno != 90:
- raise
-
-def zipFilesRecursively(archiveFile, files):
- """Make a zip archive.
-
- Args:
- archiveFile: The resultant zip archive file name.
- files: A list of files to be archived. If a list item is a directory,
- files in the directory are archived recursively."""
- zipper = zipfile.ZipFile(archiveFile, 'w', zipfile.ZIP_DEFLATED)
- for file in files:
- if os.path.isdir(file):
- for dirPath, dirNames, fileNames in os.walk(file):
- for fileName in fileNames:
- relativePath = os.path.join(dirPath, fileName)
- print "Adding", relativePath
- zipper.write(relativePath)
- else:
- print "Adding", file
- zipper.write(file)
- zipper.close()
- print "Created zip archive: ", archiveFile
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/WebKitTools/BuildSlaveSupport/win/kill-old-processes b/WebKitTools/BuildSlaveSupport/win/kill-old-processes
deleted file mode 100755
index 6760e08..0000000
--- a/WebKitTools/BuildSlaveSupport/win/kill-old-processes
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) 2010 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os, sys
-
-def main():
- tasksToKill = ["DumpRenderTree.exe", "DumpRenderTree_debug.exe", "testapi.exe", "testapi_debug.exe",
- "svn.exe", "httpd.exe", "cl.exe", "link.exe", "midl.exe", "devenv.exe", "perl.exe",
- "imagediff.exe", "imagediff_debug.exe", "jsc.exe", "jsc_debug.exe", "WebKit2WebProcess.exe",
- "WebKit2WebProcess_debug.exe", "WebKitTestRunner.exe", "WebKitTestRunner_debug.exe"]
-
- for task in tasksToKill:
- os.system("taskkill /f /im " + task)
-
-if __name__ == '__main__':
- sys.exit(main())