Bug 8188 - Buildbot slaves should upload built frameworks to ease narrowing down regressions
Summary: Buildbot slaves should upload built frameworks to ease narrowing down regress...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Mark Rowe (bdash)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-04 19:15 PDT by Mark Rowe (bdash)
Modified: 2006-05-26 18:54 PDT (History)
1 user (show)

See Also:


Attachments
Script + WebKit.app launcher application (51.85 KB, patch)
2006-04-04 19:20 PDT, Mark Rowe (bdash)
no flags Details | Formatted Diff | Diff
Binary file missing from the previous patch (55.60 KB, application/octet-stream)
2006-04-04 19:22 PDT, Mark Rowe (bdash)
no flags Details
Updated patch to fix copy-n-paste error (51.87 KB, patch)
2006-04-04 19:28 PDT, Mark Rowe (bdash)
no flags Details | Formatted Diff | Diff
Updated patch (52.60 KB, patch)
2006-04-04 21:29 PDT, Mark Rowe (bdash)
no flags Details | Formatted Diff | Diff
Further cleanup (53.86 KB, patch)
2006-04-05 05:44 PDT, Mark Rowe (bdash)
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Rowe (bdash) 2006-04-04 19:15:59 PDT
It would be ideal if buildbot slaves could upload their built frameworks.  This would make it simpler to do a binary search across SVN revisions to track down which revision caused a regression.  If possible, the frameworks should be bundled with a launcher similar to the nightly build one so that environment variables don't have to be manually set.
Comment 1 Mark Rowe (bdash) 2006-04-04 19:20:47 PDT
Created attachment 7513 [details]
Script + WebKit.app launcher application

This patch contains a rewritten version of the nightly build script I have been using for the last few months, as well as the source for the latest WebKit.app launcher.  The script has been modified so that it is suitable to be used by the build slaves to provide both per-revision builds as this bug discusses and the nightly builds for http://nightly.webkit.org/.
Comment 2 Mark Rowe (bdash) 2006-04-04 19:22:16 PDT
Created attachment 7514 [details]
Binary file missing from the previous patch
Comment 3 Mark Rowe (bdash) 2006-04-04 19:28:47 PDT
Created attachment 7515 [details]
Updated patch to fix copy-n-paste error
Comment 4 Eric Seidel (no email) 2006-04-04 20:28:36 PDT
Comment on attachment 7515 [details]
Updated patch to fix copy-n-paste error

A couple small comments:

1.  No need for a prefix header.
2.  the directory for NightlyLauncher should probably be moved up into WebKitTools directly and called NightlyLauncher instead of nightly-launcher.

I think it makes sense to follow the form of all the other build scripts and have a "build-nightlylauncher" script separate from upload-webkit-diskimage... 

Regardless, this is *absolutely phenomenal* and it's great to finally see it moving into svn.  Having this all in a central location will be great for the project.

I think at least xenon, and probably darin should have a look at this.  Xenon because he deals so much with this sort of thing for us internally, and darin because he'll undoubtedly have an opinion about the perl. ;)
Comment 5 Mark Rowe (bdash) 2006-04-04 21:29:56 PDT
Created attachment 7517 [details]
Updated patch

I've split the build script into two pieces now, and renamed nightly-launcher to WebKitLauncher living directly in the WebKitTools as suggested.  build-launcher-app builds WebKit.app and bundles the frameworks inside it.  build-launcher-dmg builds a disk image containing WebKit.app.  It takes optional arguments to instruct it to upload the disk image as a nightly build, or to an arbitrary location for use by the build slaves.
Comment 6 Mark Rowe (bdash) 2006-04-05 05:44:11 PDT
Created attachment 7524 [details]
Further cleanup

A few updates after feedback from Eric on IRC.  getCurrentSVNRevision has moved into webkitdirs.pm as currentSVNRevision, and it is used in the three locations where its functionality was duplicated.  In addition, error messages have been tidied up to provide more information about the failure.

WebKitLauncher/main.m has been updated to stick to Cocoa APIs rather than the mix of Cocoa and CoreFoundation it was previously.  It should now also meet the coding style guidelines.
Comment 7 Darin Adler 2006-04-05 08:44:29 PDT
Comment on attachment 7524 [details]
Further cleanup

Looks fine to land. r=me
Comment 8 Maciej Stachowiak 2006-04-05 21:10:57 PDT
Landed.
Comment 9 Mark Rowe (bdash) 2006-05-26 18:54:37 PDT
Just a note: I have disabled this from running on the build slaves as the build master is very nearly out of disk space and these disk images seem to be nearly unused.