Reviewed by Darin.
Bug 9614: Nightly builds should notify user if a newer build is available
http://bugzilla.opendarwin.org/show_bug.cgi?id=9614
* BuildSlaveSupport/build-launcher-app: Write revision number to WebKit.app's VERSION file.
* BuildSlaveSupport/build-launcher-dmg: Pass revision number to server-side nightly maintenance
script so it can keep track of the latest revision.
* Scripts/run-webkit-tests: Pass build-dumprendertree's exit status through correctly.
* WebKitLauncher/VERSION: Added. Placeholder for SVN revision number
* WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
* WebKitLauncher/start.html: Retrieve revision number from VERSION file, and pass it through to
the nightly start page.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15098
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
{
my $revision = currentSVNRevision();
my $infoPlist = "$nightlyLauncherStagingPath/Contents/Info.plist";
+ my $versionFile = "$nightlyLauncherStagingPath/Contents/Resources/VERSION";
my $data;
open(IN, $infoPlist) or die "Couldn't open Info.plist in built application for reading";
{
$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);
+
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";
sub uploadNightlyDiskImage
{
my $nightlyRemoteDiskImagePath = "$nightlyRemotePath/builds/" . basename($nightlyLauncherDiskImagePath);
+ my $revision = currentSVNRevision();
system("rsync", "-vP", $nightlyLauncherDiskImagePath, "$nightlyRemoteHost:$nightlyRemoteDiskImagePath") == 0 or die "Failed uploading disk image";
- system("ssh", $nightlyRemoteHost, $nightlyRemoteLatestPath, $nightlyRemoteDiskImagePath) == 0 or die "Failed linking disk image to latest";
+ system("ssh", $nightlyRemoteHost, $nightlyRemoteLatestPath, $nightlyRemoteDiskImagePath, $revision) == 0 or die "Failed linking disk image to latest";
}
sub uploadBuildSlaveDiskImage
+2006-06-29 Mark Rowe <opendarwin.org@bdash.net.nz>
+
+ Reviewed by Darin.
+
+ Bug 9614: Nightly builds should notify user if a newer build is available
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=9614
+
+ * BuildSlaveSupport/build-launcher-app: Write revision number to WebKit.app's VERSION file.
+ * BuildSlaveSupport/build-launcher-dmg: Pass revision number to server-side nightly maintenance
+ script so it can keep track of the latest revision.
+ * Scripts/run-webkit-tests: Pass build-dumprendertree's exit status through correctly.
+ * WebKitLauncher/VERSION: Added. Placeholder for SVN revision number
+ * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
+ * WebKitLauncher/start.html: Retrieve revision number from VERSION file, and pass it through to
+ the nightly start page.
+
2006-06-26 Jonas Witt <jonas.witt@gmail.com>
Reviewed by Darin.
chdirWebKit();
my $buildResult = system "WebKitTools/Scripts/build-dumprendertree", @ARGV;
-exit $buildResult if $buildResult;
+exit WEXITSTATUS($buildResult) if $buildResult;
my $dumpToolName = "DumpRenderTree";
my $tool = "$productDir/$dumpToolName";
objects = {
/* Begin PBXBuildFile section */
+ 5D41141C0A50A9DE00C84CF0 /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 5D41141B0A50A9DE00C84CF0 /* VERSION */; };
5D4DF982097F89FB0083D5E5 /* start.html in Resources */ = {isa = PBXBuildFile; fileRef = 5D4DF981097F89FB0083D5E5 /* start.html */; };
5D650F3609DB8B370075E9A8 /* WebKitNightlyEnabler.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D650F3509DB8B370075E9A8 /* WebKitNightlyEnabler.m */; };
5D650F3A09DB8B410075E9A8 /* WebKitNightlyEnabler.dylib in Resources */ = {isa = PBXBuildFile; fileRef = 5D650F3409DB8B280075E9A8 /* WebKitNightlyEnabler.dylib */; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 5D41141B0A50A9DE00C84CF0 /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
5D4DF981097F89FB0083D5E5 /* start.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = start.html; sourceTree = "<group>"; };
5D650F3409DB8B280075E9A8 /* WebKitNightlyEnabler.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = WebKitNightlyEnabler.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
5D650F3509DB8B370075E9A8 /* WebKitNightlyEnabler.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = WebKitNightlyEnabler.m; sourceTree = "<group>"; };
5D650F7509DB8CB40075E9A8 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
5DB70524097B94CD009875EC /* webkit.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = webkit.icns; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
- 8D1107320486CEB800E47090 /* WebKit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebKit.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8D1107320486CEB800E47090 /* WebKit.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = WebKit.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
5D4DF981097F89FB0083D5E5 /* start.html */,
5DB70524097B94CD009875EC /* webkit.icns */,
8D1107310486CEB800E47090 /* Info.plist */,
+ 5D41141B0A50A9DE00C84CF0 /* VERSION */,
);
name = Resources;
sourceTree = "<group>";
5D650F3A09DB8B410075E9A8 /* WebKitNightlyEnabler.dylib in Resources */,
5DB70525097B94CD009875EC /* webkit.icns in Resources */,
5D4DF982097F89FB0083D5E5 /* start.html in Resources */,
+ 5D41141C0A50A9DE00C84CF0 /* VERSION in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
<html>
<head>
- <meta http-equiv="refresh" content="1;URL=http://nightly.webkit.org/start/" />
+ <title>Loading WebKit...</title>
+ <meta http-equiv="refresh" content="1;URL=http://nightly.webkit.org/start/?current-revision=unknown" />
<script type="text/javascript">
- document.location = "http://nightly.webkit.org/start/";
+ function getWebKitRevision()
+ {
+ var request = new XMLHttpRequest();
+ request.open("GET", "VERSION", false);
+ request.send();
+ var revision = parseInt(request.responseText);
+ if (isNaN(revision))
+ return "unknown";
+
+ return revision;
+ }
+
+ var revision = getWebKitRevision();
+ document.location = "http://nightly.webkit.org/start/?current-revision=" + revision;
</script>
</head>
<body>