Title: [110904] trunk/Tools
- Revision
- 110904
- Author
- [email protected]
- Date
- 2012-03-15 16:11:53 -0700 (Thu, 15 Mar 2012)
Log Message
Update the start-queue.sh script to match what we're using on the bots
https://bugs.webkit.org/show_bug.cgi?id=81277
Reviewed by Eric Seidel.
Over time we've added more magic git commands to clean up the local repo after
it has been borked in various ways. The idea behind this sequence is to clear
out any changes in the working copy and then to rebuild the master branch from
origin/master.
This patch also removes the watchdog timer that we've stopped using on the
bots.
This patch was reviewed on <https://github.com/eseidel/webkit/pull/1>.
Note: Eric and I are experimenting with GitHub to see if it might be
useful for WebKit. If you have thoughts on this topic, please feel
free to grab Eric or me on #webkit to chat. I assume that he and I are
the only ones who care about this file so using this alternative
process for this patch shouldn't cause any trouble.
* EWSTools/start-queue.sh:
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (110903 => 110904)
--- trunk/Tools/ChangeLog 2012-03-15 23:07:37 UTC (rev 110903)
+++ trunk/Tools/ChangeLog 2012-03-15 23:11:53 UTC (rev 110904)
@@ -1,5 +1,29 @@
2012-03-15 Adam Barth <[email protected]>
+ Update the start-queue.sh script to match what we're using on the bots
+ https://bugs.webkit.org/show_bug.cgi?id=81277
+
+ Reviewed by Eric Seidel.
+
+ Over time we've added more magic git commands to clean up the local repo after
+ it has been borked in various ways. The idea behind this sequence is to clear
+ out any changes in the working copy and then to rebuild the master branch from
+ origin/master.
+
+ This patch also removes the watchdog timer that we've stopped using on the
+ bots.
+
+ This patch was reviewed on <https://github.com/eseidel/webkit/pull/1>.
+ Note: Eric and I are experimenting with GitHub to see if it might be
+ useful for WebKit. If you have thoughts on this topic, please feel
+ free to grab Eric or me on #webkit to chat. I assume that he and I are
+ the only ones who care about this file so using this alternative
+ process for this patch shouldn't cause any trouble.
+
+ * EWSTools/start-queue.sh:
+
+2012-03-15 Adam Barth <[email protected]>
+
The commit-queue can hang when the test_expectations.txt style check fails during commit
https://bugs.webkit.org/show_bug.cgi?id=81251
Modified: trunk/Tools/EWSTools/start-queue.sh (110903 => 110904)
--- trunk/Tools/EWSTools/start-queue.sh 2012-03-15 23:07:37 UTC (rev 110903)
+++ trunk/Tools/EWSTools/start-queue.sh 2012-03-15 23:11:53 UTC (rev 110904)
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (c) 2010, 2011 Google Inc. All rights reserved.
+# Copyright (c) 2012 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -27,17 +27,6 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-killAfterTimeout() {
- TARGET_PID=$1
- TIMEOUT=$2
- sleep $TIMEOUT && kill -9 $TARGET_PID &
- WATCHDOG_PID=$!
- wait $TARGET_PID
- # FIXME: This kill will fail (and log) when the watchdog has exited (by killing the child process).
- # There is likely magic shell commands to make it not log (redirecting stderr/stdout didn't work).
- kill -9 $WATCHDOG_PID
-}
-
if [[ $# -ne 2 ]];then
echo "Usage: start-queue.sh QUEUE_NAME BOT_ID"
echo
@@ -56,28 +45,25 @@
cd /mnt/git/webkit-$QUEUE_NAME
while :
do
- git reset --hard trunk # Throw away any patches in our tree.
- git clean --force # Remove any left-over layout test results, added files, etc.
+ # This somewhat quirky sequence of steps seems to clear up all the broken
+ # git situations we've gotten ourself into in the past.
+ git reset --hard HEAD # Throw away any patches in our tree.
+ git clean -f # Remove any left-over layout test results, added files, etc.
git rebase --abort # If we got killed during a git rebase, we need to clean up.
+ git checkout HEAD^ # Move to a detached head so we can blow away master.
+ git branch -D master # Blow away master in case it has diverged from origin/master.
+ git checkout origin/master -b master # Re-create master from origin/master.
- # Fetch before we rebase to speed up the rebase (fetching from git.webkit.org is way faster than pulling from svn.webkit.org)
- git fetch
- git svn rebase
+ # Most queues auto-update as part of their normal operation, but updating
+ # here makes sure that we get the latest version of the master process.
+ ./Tools/Scripts/update-webkit
- # Hack to fix cr-jail-1 (cr-mac-ews). gclient seems to be failing to update third_party/leveldatabase.
- # FIXME: This can be removed at any point in the future.
- svn cleanup Source/WebKit/chromium/third_party/leveldatabase
-
# test-webkitpy has code to remove orphaned .pyc files, so we
# run it before running webkit-patch to avoid stale .pyc files
# preventing webkit-patch from launching.
- ./Tools/Scripts/test-webkitpy &
- killAfterTimeout $! $[60*10] # Wait up to 10 minutes for it to run (should take < 30 seconds).
+ ./Tools/Scripts/test-webkitpy
# We use --exit-after-iteration to pick up any changes to webkit-patch, including
# changes to the committers.py file.
- # test-webkitpy has been known to hang in the past, so run it using killAfterTimeout
- # See https://bugs.webkit.org/show_bug.cgi?id=57724.
- ./Tools/Scripts/webkit-patch $QUEUE_NAME --bot-id=$BOT_ID --no-confirm --exit-after-iteration 10 &
- killAfterTimeout $! $[60*60*12] # Wait up to 12 hours.
+ ./Tools/Scripts/webkit-patch $QUEUE_NAME --bot-id=$BOT_ID --no-confirm --exit-after-iteration 10
done
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes