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