start-queue-mac.sh 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/sh
  2. # Copyright (c) 2012 Google Inc. All rights reserved.
  3. #
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions are
  6. # met:
  7. #
  8. # * Redistributions of source code must retain the above copyright
  9. # notice, this list of conditions and the following disclaimer.
  10. # * Redistributions in binary form must reproduce the above
  11. # copyright notice, this list of conditions and the following disclaimer
  12. # in the documentation and/or other materials provided with the
  13. # distribution.
  14. # * Neither the name of Google Inc. nor the names of its
  15. # contributors may be used to endorse or promote products derived from
  16. # this software without specific prior written permission.
  17. #
  18. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  19. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  20. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  21. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  22. # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  23. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  24. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  25. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  26. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  27. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  28. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  29. if [[ $# -lt 3 ]]; then
  30. echo "Usage: start-queue-loop.sh QUEUE_NAME BOT_ID RESET_AFTER_ITERATION [QUEUE_PARAMS]"
  31. exit 1
  32. fi
  33. QUEUE_NAME=$1
  34. BOT_ID=$2
  35. RESET_AFTER_ITERATION=$3
  36. shift 3
  37. QUEUE_PARAMS="$@"
  38. while :
  39. do
  40. # Delete log files older than 14 days, move aside the main mac-ews.log file to prevent it from growing extra large.
  41. cd /Volumes/Data/EWS/$QUEUE_NAME-logs
  42. find . -mtime +14 -delete
  43. rm $QUEUE_NAME.old
  44. mv $QUEUE_NAME.log $QUEUE_NAME.old
  45. cd /Volumes/Data/EWS/Webkit
  46. # Delete WebKitBuild to force a clean build
  47. rm -rf /Volumes/Data/EWS/WebKit/WebKitBuild
  48. # This somewhat quirky sequence of steps seems to clear up all the broken
  49. # git situations we've gotten ourself into in the past.
  50. git clean -f # Remove any left-over layout test results, added files, etc.
  51. git rebase --abort # If we got killed during a git rebase, we need to clean up.
  52. git fetch origin # Avoid updating the working copy to a stale revision.
  53. git checkout origin/master -f
  54. git branch -D master
  55. git checkout origin/master -b master
  56. # Most queues auto-update as part of their normal operation, but updating
  57. # here makes sure that we get the latest version of the master process.
  58. ./Tools/Scripts/update-webkit
  59. # test-webkitpy has code to remove orphaned .pyc files, so we
  60. # run it before running webkit-patch to avoid stale .pyc files
  61. # preventing webkit-patch from launching.
  62. ./Tools/Scripts/test-webkitpy
  63. # We use --exit-after-iteration to pick up any changes to webkit-patch, including
  64. # changes to the contributors.json file.
  65. ./Tools/Scripts/webkit-patch $QUEUE_NAME --bot-id=$BOT_ID --no-confirm --exit-after-iteration $RESET_AFTER_ITERATION $QUEUE_PARAMS
  66. done