1cb93a386Sopenharmony_ci[ 2cb93a386Sopenharmony_ci { 3cb93a386Sopenharmony_ci "cmd": [ 4cb93a386Sopenharmony_ci "vpython", 5cb93a386Sopenharmony_ci "-u", 6cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 7cb93a386Sopenharmony_ci "--json-output", 8cb93a386Sopenharmony_ci "/path/to/tmp/json", 9cb93a386Sopenharmony_ci "ensure-directory", 10cb93a386Sopenharmony_ci "--mode", 11cb93a386Sopenharmony_ci "0777", 12cb93a386Sopenharmony_ci "[START_DIR]/tmp" 13cb93a386Sopenharmony_ci ], 14cb93a386Sopenharmony_ci "infra_step": true, 15cb93a386Sopenharmony_ci "name": "makedirs tmp_dir" 16cb93a386Sopenharmony_ci }, 17cb93a386Sopenharmony_ci { 18cb93a386Sopenharmony_ci "cmd": [ 19cb93a386Sopenharmony_ci "vpython", 20cb93a386Sopenharmony_ci "-u", 21cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 22cb93a386Sopenharmony_ci "--json-output", 23cb93a386Sopenharmony_ci "/path/to/tmp/json", 24cb93a386Sopenharmony_ci "copy", 25cb93a386Sopenharmony_ci "[START_DIR]/skia/infra/bots/assets/lottie-samples/VERSION", 26cb93a386Sopenharmony_ci "/path/to/tmp/" 27cb93a386Sopenharmony_ci ], 28cb93a386Sopenharmony_ci "infra_step": true, 29cb93a386Sopenharmony_ci "name": "Get lottie-samples VERSION", 30cb93a386Sopenharmony_ci "~followup_annotations": [ 31cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@VERSION@42@@@", 32cb93a386Sopenharmony_ci "@@@STEP_LOG_END@VERSION@@@" 33cb93a386Sopenharmony_ci ] 34cb93a386Sopenharmony_ci }, 35cb93a386Sopenharmony_ci { 36cb93a386Sopenharmony_ci "cmd": [ 37cb93a386Sopenharmony_ci "vpython", 38cb93a386Sopenharmony_ci "-u", 39cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 40cb93a386Sopenharmony_ci "--json-output", 41cb93a386Sopenharmony_ci "/path/to/tmp/json", 42cb93a386Sopenharmony_ci "copy", 43cb93a386Sopenharmony_ci "42", 44cb93a386Sopenharmony_ci "[START_DIR]/tmp/LOTTIE_VERSION" 45cb93a386Sopenharmony_ci ], 46cb93a386Sopenharmony_ci "infra_step": true, 47cb93a386Sopenharmony_ci "name": "write LOTTIE_VERSION", 48cb93a386Sopenharmony_ci "~followup_annotations": [ 49cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@LOTTIE_VERSION@42@@@", 50cb93a386Sopenharmony_ci "@@@STEP_LOG_END@LOTTIE_VERSION@@@" 51cb93a386Sopenharmony_ci ] 52cb93a386Sopenharmony_ci }, 53cb93a386Sopenharmony_ci { 54cb93a386Sopenharmony_ci "cmd": [ 55cb93a386Sopenharmony_ci "vpython", 56cb93a386Sopenharmony_ci "-u", 57cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 58cb93a386Sopenharmony_ci "--json-output", 59cb93a386Sopenharmony_ci "/path/to/tmp/json", 60cb93a386Sopenharmony_ci "rmtree", 61cb93a386Sopenharmony_ci "[START_DIR]/test" 62cb93a386Sopenharmony_ci ], 63cb93a386Sopenharmony_ci "infra_step": true, 64cb93a386Sopenharmony_ci "name": "rmtree test" 65cb93a386Sopenharmony_ci }, 66cb93a386Sopenharmony_ci { 67cb93a386Sopenharmony_ci "cmd": [ 68cb93a386Sopenharmony_ci "vpython", 69cb93a386Sopenharmony_ci "-u", 70cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 71cb93a386Sopenharmony_ci "--json-output", 72cb93a386Sopenharmony_ci "/path/to/tmp/json", 73cb93a386Sopenharmony_ci "ensure-directory", 74cb93a386Sopenharmony_ci "--mode", 75cb93a386Sopenharmony_ci "0777", 76cb93a386Sopenharmony_ci "[START_DIR]/test" 77cb93a386Sopenharmony_ci ], 78cb93a386Sopenharmony_ci "infra_step": true, 79cb93a386Sopenharmony_ci "name": "makedirs test" 80cb93a386Sopenharmony_ci }, 81cb93a386Sopenharmony_ci { 82cb93a386Sopenharmony_ci "cmd": [ 83cb93a386Sopenharmony_ci "python", 84cb93a386Sopenharmony_ci "-u", 85cb93a386Sopenharmony_ci "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = sys.argv[1]\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(sys.argv[2], 'w') as f:\n f.write(hashes)\n break\n except Exception as e:\n print('Failed to get uninteresting hashes from %s:' % HASHES_URL)\n print(e)\n if retry == RETRIES:\n raise\n waittime = WAIT_BASE * math.pow(2, retry)\n print('Retry in %d seconds.' % waittime)\n time.sleep(waittime)\n", 86cb93a386Sopenharmony_ci "https://example.com/hashes.txt", 87cb93a386Sopenharmony_ci "[START_DIR]/tmp/uninteresting_hashes.txt" 88cb93a386Sopenharmony_ci ], 89cb93a386Sopenharmony_ci "env": { 90cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 91cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 92cb93a386Sopenharmony_ci }, 93cb93a386Sopenharmony_ci "infra_step": true, 94cb93a386Sopenharmony_ci "name": "get uninteresting hashes", 95cb93a386Sopenharmony_ci "~followup_annotations": [ 96cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 97cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import contextlib@@@", 98cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import math@@@", 99cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import socket@@@", 100cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 101cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 102cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import urllib2@@@", 103cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 104cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@HASHES_URL = sys.argv[1]@@@", 105cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@", 106cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@", 107cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@", 108cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 109cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@", 110cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@", 111cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ try:@@@", 112cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@", 113cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@", 114cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@", 115cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[2], 'w') as f:@@@", 116cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@", 117cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ break@@@", 118cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@", 119cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('Failed to get uninteresting hashes from %s:' % HASHES_URL)@@@", 120cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print(e)@@@", 121cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@", 122cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise@@@", 123cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@", 124cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('Retry in %d seconds.' % waittime)@@@", 125cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@", 126cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 127cb93a386Sopenharmony_ci ] 128cb93a386Sopenharmony_ci }, 129cb93a386Sopenharmony_ci { 130cb93a386Sopenharmony_ci "cmd": [ 131cb93a386Sopenharmony_ci "python", 132cb93a386Sopenharmony_ci "-u", 133cb93a386Sopenharmony_ci "import os\nprint(os.environ.get('SWARMING_BOT_ID', ''))\n" 134cb93a386Sopenharmony_ci ], 135cb93a386Sopenharmony_ci "name": "get swarming bot id", 136cb93a386Sopenharmony_ci "~followup_annotations": [ 137cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 138cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_BOT_ID', ''))@@@", 139cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 140cb93a386Sopenharmony_ci ] 141cb93a386Sopenharmony_ci }, 142cb93a386Sopenharmony_ci { 143cb93a386Sopenharmony_ci "cmd": [ 144cb93a386Sopenharmony_ci "python", 145cb93a386Sopenharmony_ci "-u", 146cb93a386Sopenharmony_ci "import os\nprint(os.environ.get('SWARMING_TASK_ID', ''))\n" 147cb93a386Sopenharmony_ci ], 148cb93a386Sopenharmony_ci "name": "get swarming task id", 149cb93a386Sopenharmony_ci "~followup_annotations": [ 150cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 151cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_TASK_ID', ''))@@@", 152cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 153cb93a386Sopenharmony_ci ] 154cb93a386Sopenharmony_ci }, 155cb93a386Sopenharmony_ci { 156cb93a386Sopenharmony_ci "cmd": [ 157cb93a386Sopenharmony_ci "python", 158cb93a386Sopenharmony_ci "-u", 159cb93a386Sopenharmony_ci "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py", 160cb93a386Sopenharmony_ci "[START_DIR]", 161cb93a386Sopenharmony_ci "catchsegv", 162cb93a386Sopenharmony_ci "[START_DIR]/build/dm", 163cb93a386Sopenharmony_ci "--example", 164cb93a386Sopenharmony_ci "--flags", 165cb93a386Sopenharmony_ci "--properties", 166cb93a386Sopenharmony_ci "bot", 167cb93a386Sopenharmony_ci "skia-bot-123", 168cb93a386Sopenharmony_ci "key1", 169cb93a386Sopenharmony_ci "value1", 170cb93a386Sopenharmony_ci "task", 171cb93a386Sopenharmony_ci "123456", 172cb93a386Sopenharmony_ci "--resourcePath", 173cb93a386Sopenharmony_ci "[START_DIR]/skia/resources", 174cb93a386Sopenharmony_ci "--lotties", 175cb93a386Sopenharmony_ci "[START_DIR]/skia/resources/skottie", 176cb93a386Sopenharmony_ci "[START_DIR]/lottie-samples", 177cb93a386Sopenharmony_ci "--uninterestingHashesFile", 178cb93a386Sopenharmony_ci "[START_DIR]/tmp/uninteresting_hashes.txt", 179cb93a386Sopenharmony_ci "--writePath", 180cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]" 181cb93a386Sopenharmony_ci ], 182cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 183cb93a386Sopenharmony_ci "env": { 184cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 185cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 186cb93a386Sopenharmony_ci }, 187cb93a386Sopenharmony_ci "name": "symbolized dm" 188cb93a386Sopenharmony_ci }, 189cb93a386Sopenharmony_ci { 190cb93a386Sopenharmony_ci "cmd": [ 191cb93a386Sopenharmony_ci "vpython", 192cb93a386Sopenharmony_ci "-u", 193cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 194cb93a386Sopenharmony_ci "--json-output", 195cb93a386Sopenharmony_ci "/path/to/tmp/json", 196cb93a386Sopenharmony_ci "glob", 197cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]", 198cb93a386Sopenharmony_ci "*.png" 199cb93a386Sopenharmony_ci ], 200cb93a386Sopenharmony_ci "infra_step": true, 201cb93a386Sopenharmony_ci "name": "find .png images", 202cb93a386Sopenharmony_ci "~followup_annotations": [ 203cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/[SWARM_OUT_DIR]/someimage.png@@@", 204cb93a386Sopenharmony_ci "@@@STEP_LOG_END@glob@@@" 205cb93a386Sopenharmony_ci ] 206cb93a386Sopenharmony_ci }, 207cb93a386Sopenharmony_ci { 208cb93a386Sopenharmony_ci "cmd": [ 209cb93a386Sopenharmony_ci "gsutil", 210cb93a386Sopenharmony_ci "-m", 211cb93a386Sopenharmony_ci "cp", 212cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/*.png", 213cb93a386Sopenharmony_ci "gs://skia-infra-gm/dm-images-v1" 214cb93a386Sopenharmony_ci ], 215cb93a386Sopenharmony_ci "name": "upload .png images" 216cb93a386Sopenharmony_ci }, 217cb93a386Sopenharmony_ci { 218cb93a386Sopenharmony_ci "cmd": [ 219cb93a386Sopenharmony_ci "gsutil", 220cb93a386Sopenharmony_ci "cp", 221cb93a386Sopenharmony_ci "-Z", 222cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/dm.json", 223cb93a386Sopenharmony_ci "gs://skia-infra-gm/trybot/dm-json-v1/2012/05/14/12/1234_7/Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All-Lottie/1337000001/dm.json" 224cb93a386Sopenharmony_ci ], 225cb93a386Sopenharmony_ci "name": "upload dm.json" 226cb93a386Sopenharmony_ci }, 227cb93a386Sopenharmony_ci { 228cb93a386Sopenharmony_ci "name": "$result" 229cb93a386Sopenharmony_ci } 230cb93a386Sopenharmony_ci]