| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 [ |  | 
| 2   { |  | 
| 3     "cmd": [ |  | 
| 4       "git", |  | 
| 5       "fetch" |  | 
| 6     ], |  | 
| 7     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 8     "name": "git fetch" |  | 
| 9   }, |  | 
| 10   { |  | 
| 11     "cmd": [ |  | 
| 12       "git", |  | 
| 13       "reset", |  | 
| 14       "--hard", |  | 
| 15       "abc123" |  | 
| 16     ], |  | 
| 17     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 18     "name": "git reset" |  | 
| 19   }, |  | 
| 20   { |  | 
| 21     "cmd": [ |  | 
| 22       "git", |  | 
| 23       "clean", |  | 
| 24       "-d", |  | 
| 25       "-f" |  | 
| 26     ], |  | 
| 27     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 28     "name": "git clean" |  | 
| 29   }, |  | 
| 30   { |  | 
| 31     "cmd": [ |  | 
| 32       "python", |  | 
| 33       "-u", |  | 
| 34       "[DEPOT_TOOLS]/gclient.py", |  | 
| 35       "config", |  | 
| 36       "--spec", |  | 
| 37       "cache_dir = None\nsolutions = [{'deps_file': 'DEPS', 'managed': True, 'na
     me': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]" |  | 
| 38     ], |  | 
| 39     "cwd": "[SLAVE_BUILD]", |  | 
| 40     "name": "gclient setup" |  | 
| 41   }, |  | 
| 42   { |  | 
| 43     "cmd": [ |  | 
| 44       "python", |  | 
| 45       "-u", |  | 
| 46       "[DEPOT_TOOLS]/gclient.py", |  | 
| 47       "sync", |  | 
| 48       "--nohooks", |  | 
| 49       "--force", |  | 
| 50       "--verbose", |  | 
| 51       "--delete_unversioned_trees", |  | 
| 52       "--revision", |  | 
| 53       "skia@abc123", |  | 
| 54       "--output-json", |  | 
| 55       "/path/to/tmp/json" |  | 
| 56     ], |  | 
| 57     "cwd": "[SLAVE_BUILD]", |  | 
| 58     "name": "gclient sync", |  | 
| 59     "~followup_annotations": [ |  | 
| 60       "@@@STEP_LOG_LINE@json.output@{@@@", |  | 
| 61       "@@@STEP_LOG_LINE@json.output@  \"solutions\": {@@@", |  | 
| 62       "@@@STEP_LOG_LINE@json.output@    \"skia/\": {@@@", |  | 
| 63       "@@@STEP_LOG_LINE@json.output@      \"revision\": 164710@@@", |  | 
| 64       "@@@STEP_LOG_LINE@json.output@    }@@@", |  | 
| 65       "@@@STEP_LOG_LINE@json.output@  }@@@", |  | 
| 66       "@@@STEP_LOG_LINE@json.output@}@@@", |  | 
| 67       "@@@STEP_LOG_END@json.output@@@", |  | 
| 68       "@@@SET_BUILD_PROPERTY@got_revision@164710@@@" |  | 
| 69     ] |  | 
| 70   }, |  | 
| 71   { |  | 
| 72     "cmd": [ |  | 
| 73       "python", |  | 
| 74       "-u", |  | 
| 75       "\nimport os\nimport sys\nwith open(sys.argv[1], 'w') as f:\n  f.write(os.
     path.join(os.path.expanduser('~'), 'src'))\n", |  | 
| 76       "/path/to/tmp/" |  | 
| 77     ], |  | 
| 78     "cwd": "[SLAVE_BUILD]", |  | 
| 79     "name": "get CHROME_PATH", |  | 
| 80     "~followup_annotations": [ |  | 
| 81       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 82       "@@@STEP_LOG_LINE@python.inline@import os@@@", |  | 
| 83       "@@@STEP_LOG_LINE@python.inline@import sys@@@", |  | 
| 84       "@@@STEP_LOG_LINE@python.inline@with open(sys.argv[1], 'w') as f:@@@", |  | 
| 85       "@@@STEP_LOG_LINE@python.inline@  f.write(os.path.join(os.path.expanduser(
     '~'), 'src'))@@@", |  | 
| 86       "@@@STEP_LOG_END@python.inline@@@" |  | 
| 87     ] |  | 
| 88   }, |  | 
| 89   { |  | 
| 90     "cmd": [ |  | 
| 91       "make", |  | 
| 92       "dm", |  | 
| 93       "BUILDTYPE=Debug" |  | 
| 94     ], |  | 
| 95     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 96     "env": { |  | 
| 97       "CHROME_PATH": "/home/chrome-bot/src", |  | 
| 98       "GYP_DEFINES": "skia_arch_type=x86_64 skia_arch_width=64 skia_gpu=0 skia_w
     arnings_as_errors=0" |  | 
| 99     }, |  | 
| 100     "name": "build dm" |  | 
| 101   }, |  | 
| 102   { |  | 
| 103     "cmd": [ |  | 
| 104       "make", |  | 
| 105       "nanobench", |  | 
| 106       "BUILDTYPE=Debug" |  | 
| 107     ], |  | 
| 108     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 109     "env": { |  | 
| 110       "CHROME_PATH": "/home/chrome-bot/src", |  | 
| 111       "GYP_DEFINES": "skia_arch_type=x86_64 skia_arch_width=64 skia_gpu=0 skia_w
     arnings_as_errors=0" |  | 
| 112     }, |  | 
| 113     "name": "build nanobench" |  | 
| 114   }, |  | 
| 115   { |  | 
| 116     "cmd": [ |  | 
| 117       "python", |  | 
| 118       "-u", |  | 
| 119       "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.
     path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not 
     a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n", |  | 
| 120       "[SLAVE_BUILD]/tmp", |  | 
| 121       "511" |  | 
| 122     ], |  | 
| 123     "cwd": "[SLAVE_BUILD]", |  | 
| 124     "name": "makedirs tmp_dir", |  | 
| 125     "~followup_annotations": [ |  | 
| 126       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 127       "@@@STEP_LOG_LINE@python.inline@import sys, os@@@", |  | 
| 128       "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@", |  | 
| 129       "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@", |  | 
| 130       "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@", |  | 
| 131       "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@", |  | 
| 132       "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" %
      path@@@", |  | 
| 133       "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@", |  | 
| 134       "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@", |  | 
| 135       "@@@STEP_LOG_END@python.inline@@@" |  | 
| 136     ] |  | 
| 137   }, |  | 
| 138   { |  | 
| 139     "cmd": [ |  | 
| 140       "python", |  | 
| 141       "-u", |  | 
| 142       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |  | 
| 143       "[SLAVE_BUILD]/skia/SKP_VERSION", |  | 
| 144       "/path/to/tmp/" |  | 
| 145     ], |  | 
| 146     "cwd": "[SLAVE_BUILD]", |  | 
| 147     "name": "Get expected SKP_VERSION" |  | 
| 148   }, |  | 
| 149   { |  | 
| 150     "cmd": [ |  | 
| 151       "python", |  | 
| 152       "-u", |  | 
| 153       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |  | 
| 154       "[SLAVE_BUILD]/tmp/SKP_VERSION", |  | 
| 155       "/path/to/tmp/" |  | 
| 156     ], |  | 
| 157     "cwd": "[SLAVE_BUILD]", |  | 
| 158     "name": "Get downloaded SKP_VERSION" |  | 
| 159   }, |  | 
| 160   { |  | 
| 161     "cmd": [ |  | 
| 162       "python", |  | 
| 163       "-u", |  | 
| 164       "RECIPE_MODULE[gsutil]/resources/gsutil_wrapper.py", |  | 
| 165       "--", |  | 
| 166       "[DEPOT_TOOLS]/gsutil.py", |  | 
| 167       "--force-version", |  | 
| 168       "3.25", |  | 
| 169       "----", |  | 
| 170       "cat", |  | 
| 171       "gs://chromium-skia-gm/skimage/input/TIMESTAMP_LAST_UPLOAD_COMPLETED" |  | 
| 172     ], |  | 
| 173     "cwd": "[SLAVE_BUILD]", |  | 
| 174     "name": "gsutil cat TIMESTAMP_LAST_UPLOAD_COMPLETED", |  | 
| 175     "stdout": "/path/to/tmp/" |  | 
| 176   }, |  | 
| 177   { |  | 
| 178     "cmd": [ |  | 
| 179       "python", |  | 
| 180       "-u", |  | 
| 181       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |  | 
| 182       "[SLAVE_BUILD]/tmp/SKIMAGE_VERSION", |  | 
| 183       "/path/to/tmp/" |  | 
| 184     ], |  | 
| 185     "cwd": "[SLAVE_BUILD]", |  | 
| 186     "name": "Get downloaded SKIMAGE_VERSION" |  | 
| 187   }, |  | 
| 188   { |  | 
| 189     "cmd": [ |  | 
| 190       "python", |  | 
| 191       "-u", |  | 
| 192       "\nimport os, sys\nfrom common import chromium_utils\n\nif os.path.exists(
     sys.argv[1]):\n  chromium_utils.RemoveDirectory(sys.argv[1])\n", |  | 
| 193       "[SLAVE_BUILD]/dm" |  | 
| 194     ], |  | 
| 195     "cwd": "[SLAVE_BUILD]", |  | 
| 196     "name": "rmtree dm", |  | 
| 197     "~followup_annotations": [ |  | 
| 198       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 199       "@@@STEP_LOG_LINE@python.inline@import os, sys@@@", |  | 
| 200       "@@@STEP_LOG_LINE@python.inline@from common import chromium_utils@@@", |  | 
| 201       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 202       "@@@STEP_LOG_LINE@python.inline@if os.path.exists(sys.argv[1]):@@@", |  | 
| 203       "@@@STEP_LOG_LINE@python.inline@  chromium_utils.RemoveDirectory(sys.argv[
     1])@@@", |  | 
| 204       "@@@STEP_LOG_END@python.inline@@@" |  | 
| 205     ] |  | 
| 206   }, |  | 
| 207   { |  | 
| 208     "cmd": [ |  | 
| 209       "python", |  | 
| 210       "-u", |  | 
| 211       "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.
     path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not 
     a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n", |  | 
| 212       "[SLAVE_BUILD]/dm", |  | 
| 213       "511" |  | 
| 214     ], |  | 
| 215     "cwd": "[SLAVE_BUILD]", |  | 
| 216     "name": "makedirs dm", |  | 
| 217     "~followup_annotations": [ |  | 
| 218       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 219       "@@@STEP_LOG_LINE@python.inline@import sys, os@@@", |  | 
| 220       "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@", |  | 
| 221       "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@", |  | 
| 222       "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@", |  | 
| 223       "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@", |  | 
| 224       "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" %
      path@@@", |  | 
| 225       "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@", |  | 
| 226       "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@", |  | 
| 227       "@@@STEP_LOG_END@python.inline@@@" |  | 
| 228     ] |  | 
| 229   }, |  | 
| 230   { |  | 
| 231     "cmd": [ |  | 
| 232       "python", |  | 
| 233       "-u", |  | 
| 234       "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\
     nimport urllib2\n\nHASHES_URL = 'https://gold.skia.org/2/_/hashes'\nRETRIES = 5\
     nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in
      range(RETRIES):\n  try:\n    with contextlib.closing(\n        urllib2.urlopen(
     HASHES_URL, timeout=TIMEOUT)) as w:\n      hashes = w.read()\n      with open(sy
     s.argv[1], 'w') as f:\n        f.write(hashes)\n        break\n  except:\n    pr
     int 'Failed to get uninteresting hashes from %s' % HASHES_URL\n    if retry == R
     ETRIES:\n      raise\n    waittime = WAIT_BASE * math.pow(2, retry)\n    print '
     Retry in %d seconds.' % waittime\n    time.sleep(waittime)\n", |  | 
| 235       "[SLAVE_BUILD]/tmp/uninteresting_hashes.txt" |  | 
| 236     ], |  | 
| 237     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 238     "name": "get uninteresting hashes", |  | 
| 239     "~followup_annotations": [ |  | 
| 240       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 241       "@@@STEP_LOG_LINE@python.inline@import contextlib@@@", |  | 
| 242       "@@@STEP_LOG_LINE@python.inline@import math@@@", |  | 
| 243       "@@@STEP_LOG_LINE@python.inline@import socket@@@", |  | 
| 244       "@@@STEP_LOG_LINE@python.inline@import sys@@@", |  | 
| 245       "@@@STEP_LOG_LINE@python.inline@import time@@@", |  | 
| 246       "@@@STEP_LOG_LINE@python.inline@import urllib2@@@", |  | 
| 247       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 248       "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://gold.skia.org/2/_/ha
     shes'@@@", |  | 
| 249       "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@", |  | 
| 250       "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@", |  | 
| 251       "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@", |  | 
| 252       "@@@STEP_LOG_LINE@python.inline@@@@", |  | 
| 253       "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@", |  | 
| 254       "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@", |  | 
| 255       "@@@STEP_LOG_LINE@python.inline@  try:@@@", |  | 
| 256       "@@@STEP_LOG_LINE@python.inline@    with contextlib.closing(@@@", |  | 
| 257       "@@@STEP_LOG_LINE@python.inline@        urllib2.urlopen(HASHES_URL, timeou
     t=TIMEOUT)) as w:@@@", |  | 
| 258       "@@@STEP_LOG_LINE@python.inline@      hashes = w.read()@@@", |  | 
| 259       "@@@STEP_LOG_LINE@python.inline@      with open(sys.argv[1], 'w') as f:@@@
     ", |  | 
| 260       "@@@STEP_LOG_LINE@python.inline@        f.write(hashes)@@@", |  | 
| 261       "@@@STEP_LOG_LINE@python.inline@        break@@@", |  | 
| 262       "@@@STEP_LOG_LINE@python.inline@  except:@@@", |  | 
| 263       "@@@STEP_LOG_LINE@python.inline@    print 'Failed to get uninteresting has
     hes from %s' % HASHES_URL@@@", |  | 
| 264       "@@@STEP_LOG_LINE@python.inline@    if retry == RETRIES:@@@", |  | 
| 265       "@@@STEP_LOG_LINE@python.inline@      raise@@@", |  | 
| 266       "@@@STEP_LOG_LINE@python.inline@    waittime = WAIT_BASE * math.pow(2, ret
     ry)@@@", |  | 
| 267       "@@@STEP_LOG_LINE@python.inline@    print 'Retry in %d seconds.' % waittim
     e@@@", |  | 
| 268       "@@@STEP_LOG_LINE@python.inline@    time.sleep(waittime)@@@", |  | 
| 269       "@@@STEP_LOG_END@python.inline@@@" |  | 
| 270     ] |  | 
| 271   }, |  | 
| 272   { |  | 
| 273     "cmd": [ |  | 
| 274       "python", |  | 
| 275       "-u", |  | 
| 276       "[SLAVE_BUILD]/skia/tools/dm_flags.py", |  | 
| 277       "/path/to/tmp/json", |  | 
| 278       "Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug" |  | 
| 279     ], |  | 
| 280     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 281     "name": "exec dm_flags.py", |  | 
| 282     "~followup_annotations": [ |  | 
| 283       "@@@STEP_LOG_LINE@json.output@[@@@", |  | 
| 284       "@@@STEP_LOG_LINE@json.output@  \"--dummy-flags\"@@@", |  | 
| 285       "@@@STEP_LOG_LINE@json.output@]@@@", |  | 
| 286       "@@@STEP_LOG_END@json.output@@@" |  | 
| 287     ] |  | 
| 288   }, |  | 
| 289   { |  | 
| 290     "cmd": [ |  | 
| 291       "catchsegv", |  | 
| 292       "[SLAVE_BUILD]/skia/out/Debug/dm", |  | 
| 293       "--undefok", |  | 
| 294       "--verbose", |  | 
| 295       "--resourcePath", |  | 
| 296       "[SLAVE_BUILD]/skia/resources", |  | 
| 297       "--skps", |  | 
| 298       "[SLAVE_BUILD]/playback/skps", |  | 
| 299       "--images", |  | 
| 300       "[SLAVE_BUILD]/images", |  | 
| 301       "--writePath", |  | 
| 302       "[SLAVE_BUILD]/dm", |  | 
| 303       "--nameByHash", |  | 
| 304       "--properties", |  | 
| 305       "gitHash", |  | 
| 306       "164710", |  | 
| 307       "build_number", |  | 
| 308       "5", |  | 
| 309       "--key", |  | 
| 310       "arch", |  | 
| 311       "x86_64", |  | 
| 312       "compiler", |  | 
| 313       "GCC", |  | 
| 314       "configuration", |  | 
| 315       "Debug", |  | 
| 316       "cpu_or_gpu", |  | 
| 317       "CPU", |  | 
| 318       "cpu_or_gpu_value", |  | 
| 319       "AVX2", |  | 
| 320       "model", |  | 
| 321       "GCE", |  | 
| 322       "os", |  | 
| 323       "Ubuntu", |  | 
| 324       "--uninterestingHashesFile", |  | 
| 325       "[SLAVE_BUILD]/tmp/uninteresting_hashes.txt", |  | 
| 326       "--nogpu", |  | 
| 327       "--dummy-flags" |  | 
| 328     ], |  | 
| 329     "cwd": "[SLAVE_BUILD]", |  | 
| 330     "name": "dm" |  | 
| 331   }, |  | 
| 332   { |  | 
| 333     "cmd": [ |  | 
| 334       "python", |  | 
| 335       "-u", |  | 
| 336       "RECIPE_MODULE[skia]/resources/upload_dm_results.py", |  | 
| 337       "[SLAVE_BUILD]/dm", |  | 
| 338       "164710", |  | 
| 339       "Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug", |  | 
| 340       "5", |  | 
| 341       "", |  | 
| 342       "[SLAVE_BUILD]/skia/common/py/utils" |  | 
| 343     ], |  | 
| 344     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 345     "name": "Upload DM Results" |  | 
| 346   }, |  | 
| 347   { |  | 
| 348     "cmd": [ |  | 
| 349       "python", |  | 
| 350       "-u", |  | 
| 351       "[SLAVE_BUILD]/skia/tools/nanobench_flags.py", |  | 
| 352       "/path/to/tmp/json", |  | 
| 353       "Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug" |  | 
| 354     ], |  | 
| 355     "cwd": "[SLAVE_BUILD]/skia", |  | 
| 356     "name": "exec nanobench_flags.py", |  | 
| 357     "~followup_annotations": [ |  | 
| 358       "@@@STEP_LOG_LINE@json.output@[@@@", |  | 
| 359       "@@@STEP_LOG_LINE@json.output@  \"--dummy-flags\"@@@", |  | 
| 360       "@@@STEP_LOG_LINE@json.output@]@@@", |  | 
| 361       "@@@STEP_LOG_END@json.output@@@" |  | 
| 362     ] |  | 
| 363   }, |  | 
| 364   { |  | 
| 365     "cmd": [ |  | 
| 366       "catchsegv", |  | 
| 367       "[SLAVE_BUILD]/skia/out/Debug/nanobench", |  | 
| 368       "--undefok", |  | 
| 369       "-i", |  | 
| 370       "[SLAVE_BUILD]/skia/resources", |  | 
| 371       "--skps", |  | 
| 372       "[SLAVE_BUILD]/playback/skps", |  | 
| 373       "--nogpu", |  | 
| 374       "--dummy-flags" |  | 
| 375     ], |  | 
| 376     "cwd": "[SLAVE_BUILD]", |  | 
| 377     "name": "nanobench" |  | 
| 378   } |  | 
| 379 ] |  | 
| OLD | NEW | 
|---|