1[ 2 { 3 "cmd": [ 4 "vpython", 5 "-u", 6 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 7 "--json-output", 8 "/path/to/tmp/json", 9 "ensure-directory", 10 "--mode", 11 "0777", 12 "[START_DIR]/[SWARM_OUT_DIR]" 13 ], 14 "infra_step": true, 15 "name": "mkdirs out_dir" 16 }, 17 { 18 "cmd": [ 19 "vpython", 20 "-u", 21 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 22 "--json-output", 23 "/path/to/tmp/json", 24 "rmtree", 25 "/tmp/lottie_files" 26 ], 27 "infra_step": true, 28 "name": "remove previous lottie files" 29 }, 30 { 31 "cmd": [ 32 "vpython", 33 "-u", 34 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 35 "--json-output", 36 "/path/to/tmp/json", 37 "copytree", 38 "[START_DIR]/lottie-samples", 39 "/tmp/lottie_files" 40 ], 41 "infra_step": true, 42 "name": "copy lottie files" 43 }, 44 { 45 "cmd": [ 46 "python", 47 "-u", 48 "import os\nprint(os.environ.get('SWARMING_BOT_ID', ''))\n" 49 ], 50 "name": "get swarming bot id", 51 "~followup_annotations": [ 52 "@@@STEP_LOG_LINE@python.inline@import os@@@", 53 "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_BOT_ID', ''))@@@", 54 "@@@STEP_LOG_END@python.inline@@@" 55 ] 56 }, 57 { 58 "cmd": [ 59 "python", 60 "-u", 61 "import os\nprint(os.environ.get('SWARMING_TASK_ID', ''))\n" 62 ], 63 "name": "get swarming task id", 64 "~followup_annotations": [ 65 "@@@STEP_LOG_LINE@python.inline@import os@@@", 66 "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_TASK_ID', ''))@@@", 67 "@@@STEP_LOG_END@python.inline@@@" 68 ] 69 }, 70 { 71 "cmd": [], 72 "name": "Docker setup" 73 }, 74 { 75 "cmd": [ 76 "python", 77 "-u", 78 "import os\nprint('%d:%d' % (os.getuid(), os.getgid()))\n" 79 ], 80 "name": "Docker setup.Get uid and gid", 81 "~followup_annotations": [ 82 "@@@STEP_NEST_LEVEL@1@@@", 83 "@@@STEP_LOG_LINE@python.inline@import os@@@", 84 "@@@STEP_LOG_LINE@python.inline@print('%d:%d' % (os.getuid(), os.getgid()))@@@", 85 "@@@STEP_LOG_END@python.inline@@@" 86 ] 87 }, 88 { 89 "cmd": [ 90 "vpython", 91 "-u", 92 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 93 "--json-output", 94 "/path/to/tmp/json", 95 "ensure-directory", 96 "--mode", 97 "0777", 98 "[START_DIR]/[SWARM_OUT_DIR]" 99 ], 100 "infra_step": true, 101 "name": "Docker setup.mkdirs out_dir", 102 "~followup_annotations": [ 103 "@@@STEP_NEST_LEVEL@1@@@" 104 ] 105 }, 106 { 107 "cmd": [ 108 "chmod", 109 "777", 110 "[START_DIR]/[SWARM_OUT_DIR]" 111 ], 112 "infra_step": true, 113 "name": "Docker setup.chmod 777 [START_DIR]/[SWARM_OUT_DIR]", 114 "~followup_annotations": [ 115 "@@@STEP_NEST_LEVEL@1@@@" 116 ] 117 }, 118 { 119 "cmd": [ 120 "chmod", 121 "755", 122 "[START_DIR]" 123 ], 124 "infra_step": true, 125 "name": "Docker setup.chmod 755 [START_DIR]", 126 "~followup_annotations": [ 127 "@@@STEP_NEST_LEVEL@1@@@" 128 ] 129 }, 130 { 131 "cmd": [ 132 "chmod", 133 "0755", 134 "[START_DIR]/skia/infra/lottiecap/docker/lottiecap_gold.sh" 135 ], 136 "infra_step": true, 137 "name": "Docker setup.chmod 0755 [START_DIR]/skia/infra/lottiecap/docker/lottiecap_gold.sh", 138 "~followup_annotations": [ 139 "@@@STEP_NEST_LEVEL@1@@@" 140 ] 141 }, 142 { 143 "cmd": [ 144 "chmod", 145 "-R", 146 "a+r", 147 "[START_DIR]/lottie/build/player" 148 ], 149 "infra_step": true, 150 "name": "Docker setup.chmod -R a+r [START_DIR]/lottie/build/player", 151 "~followup_annotations": [ 152 "@@@STEP_NEST_LEVEL@1@@@" 153 ] 154 }, 155 { 156 "cmd": [ 157 "chmod", 158 "-R", 159 "a+r", 160 "/tmp/lottie_files" 161 ], 162 "infra_step": true, 163 "name": "Docker setup.chmod -R a+r /tmp/lottie_files", 164 "~followup_annotations": [ 165 "@@@STEP_NEST_LEVEL@1@@@" 166 ] 167 }, 168 { 169 "cmd": [ 170 "docker", 171 "run", 172 "--shm-size=2gb", 173 "--rm", 174 "--user", 175 "13:17", 176 "--mount", 177 "type=bind,source=[START_DIR],target=/SRC", 178 "--mount", 179 "type=bind,source=[START_DIR]/[SWARM_OUT_DIR],target=/OUT", 180 "--mount", 181 "type=bind,source=[START_DIR]/lottie/build/player,target=/LOTTIE_BUILD", 182 "--mount", 183 "type=bind,source=/tmp/lottie_files,target=/LOTTIE_FILES", 184 "gcr.io/skia-public/gold-lottie-web-puppeteer:v2", 185 "/SRC/skia/infra/lottiecap/docker/lottiecap_gold.sh", 186 "--builder", 187 "Test-Debian10-none-GCE-CPU-AVX2-x86_64-Debug-All-LottieWeb", 188 "--git_hash", 189 "abc123", 190 "--buildbucket_build_id", 191 "", 192 "--bot_id", 193 "", 194 "--task_id", 195 "", 196 "--browser", 197 "Chrome", 198 "--config", 199 "Debug" 200 ], 201 "env": { 202 "CHROME_HEADLESS": "1", 203 "DOCKER_CONFIG": "/home/chrome-bot/.docker", 204 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 205 }, 206 "name": "Generate LottieWeb Gold output with Docker" 207 }, 208 { 209 "cmd": [ 210 "vpython", 211 "-u", 212 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 213 "--json-output", 214 "/path/to/tmp/json", 215 "glob", 216 "[START_DIR]/[SWARM_OUT_DIR]", 217 "*.png" 218 ], 219 "infra_step": true, 220 "name": "find .png images", 221 "~followup_annotations": [ 222 "@@@STEP_LOG_LINE@glob@[START_DIR]/[SWARM_OUT_DIR]/someimage.png@@@", 223 "@@@STEP_LOG_END@glob@@@" 224 ] 225 }, 226 { 227 "cmd": [ 228 "gsutil", 229 "-m", 230 "cp", 231 "[START_DIR]/[SWARM_OUT_DIR]/*.png", 232 "gs://skia-infra-gm/dm-images-v1" 233 ], 234 "name": "upload .png images" 235 }, 236 { 237 "cmd": [ 238 "gsutil", 239 "cp", 240 "-Z", 241 "[START_DIR]/[SWARM_OUT_DIR]/dm.json", 242 "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Test-Debian10-none-GCE-CPU-AVX2-x86_64-Debug-All-LottieWeb/1337000001/dm.json" 243 ], 244 "name": "upload dm.json" 245 }, 246 { 247 "name": "$result" 248 } 249]