• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[
2  {
3    "cmd": [
4      "python",
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]/cache/work"
13    ],
14    "infra_step": true,
15    "name": "makedirs checkout_path"
16  },
17  {
18    "cmd": [
19      "python",
20      "-u",
21      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
22      "--json-output",
23      "/path/to/tmp/json",
24      "remove",
25      "[START_DIR]/cache/work/.gclient_entries"
26    ],
27    "infra_step": true,
28    "name": "remove [START_DIR]/cache/work/.gclient_entries"
29  },
30  {
31    "cmd": [
32      "python",
33      "-u",
34      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
35      "--spec-path",
36      "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
37      "--patch_root",
38      "skia",
39      "--revision_mapping_file",
40      "{\"got_revision\": \"skia\"}",
41      "--git-cache-dir",
42      "[START_DIR]/cache/git",
43      "--cleanup-dir",
44      "[CLEANUP]/bot_update",
45      "--output_json",
46      "/path/to/tmp/json",
47      "--revision",
48      "skia@abc123"
49    ],
50    "cwd": "[START_DIR]/cache/work",
51    "env_suffixes": {
52      "PATH": [
53        "RECIPE_REPO[depot_tools]"
54      ]
55    },
56    "infra_step": true,
57    "name": "bot_update",
58    "~followup_annotations": [
59      "@@@STEP_TEXT@Some step text@@@",
60      "@@@STEP_LOG_LINE@json.output@{@@@",
61      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
62      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
63      "@@@STEP_LOG_LINE@json.output@    \"skia\": \"abc123\"@@@",
64      "@@@STEP_LOG_LINE@json.output@  }, @@@",
65      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
66      "@@@STEP_LOG_LINE@json.output@    \"skia\": {@@@",
67      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
68      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
69      "@@@STEP_LOG_LINE@json.output@    }@@@",
70      "@@@STEP_LOG_LINE@json.output@  }, @@@",
71      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
72      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"skia\", @@@",
73      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
74      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
75      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
76      "@@@STEP_LOG_LINE@json.output@  }, @@@",
77      "@@@STEP_LOG_LINE@json.output@  \"root\": \"skia\", @@@",
78      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
79      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
80      "@@@STEP_LOG_LINE@json.output@      \"skia\": {@@@",
81      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
82      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/skia.git\", @@@",
83      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
84      "@@@STEP_LOG_LINE@json.output@        }@@@",
85      "@@@STEP_LOG_LINE@json.output@      }@@@",
86      "@@@STEP_LOG_LINE@json.output@    }, @@@",
87      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
88      "@@@STEP_LOG_LINE@json.output@  }, @@@",
89      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
90      "@@@STEP_LOG_LINE@json.output@}@@@",
91      "@@@STEP_LOG_END@json.output@@@",
92      "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
93      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
94    ]
95  },
96  {
97    "cmd": [
98      "python",
99      "-u",
100      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
101      "--json-output",
102      "/path/to/tmp/json",
103      "ensure-directory",
104      "--mode",
105      "0777",
106      "[START_DIR]/[SWARM_OUT_DIR]"
107    ],
108    "infra_step": true,
109    "name": "mkdirs out_dir"
110  },
111  {
112    "cmd": [
113      "python",
114      "-u",
115      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
116      "--json-output",
117      "/path/to/tmp/json",
118      "rmtree",
119      "/tmp/lottie_files"
120    ],
121    "infra_step": true,
122    "name": "remove previous lottie files"
123  },
124  {
125    "cmd": [
126      "python",
127      "-u",
128      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
129      "--json-output",
130      "/path/to/tmp/json",
131      "copytree",
132      "[START_DIR]/lottie-samples",
133      "/tmp/lottie_files"
134    ],
135    "infra_step": true,
136    "name": "copy lottie files"
137  },
138  {
139    "cmd": [
140      "python",
141      "-u",
142      "\nimport os\nimport sys\n\nlottie_files_dir = sys.argv[1]\nout_dir = sys.argv[2]\nlottie_build = sys.argv[3]\n\n# Make sure all the lottie files are readable by everyone so we can see\n# them in the docker container.\nos.system('chmod 0644 %s/*' % lottie_files_dir)\nos.system('chmod 0644 %s/*' % lottie_build)\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\n# This typically means that the non-privileged docker won't be able to write.\nos.chmod(out_dir, 0o777)\n",
143      "/tmp/lottie_files",
144      "[START_DIR]/[SWARM_OUT_DIR]",
145      "[START_DIR]/cache/work/lottie/build/player"
146    ],
147    "infra_step": true,
148    "name": "Set up for docker",
149    "~followup_annotations": [
150      "@@@STEP_LOG_LINE@python.inline@@@@",
151      "@@@STEP_LOG_LINE@python.inline@import os@@@",
152      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
153      "@@@STEP_LOG_LINE@python.inline@@@@",
154      "@@@STEP_LOG_LINE@python.inline@lottie_files_dir = sys.argv[1]@@@",
155      "@@@STEP_LOG_LINE@python.inline@out_dir = sys.argv[2]@@@",
156      "@@@STEP_LOG_LINE@python.inline@lottie_build = sys.argv[3]@@@",
157      "@@@STEP_LOG_LINE@python.inline@@@@",
158      "@@@STEP_LOG_LINE@python.inline@# Make sure all the lottie files are readable by everyone so we can see@@@",
159      "@@@STEP_LOG_LINE@python.inline@# them in the docker container.@@@",
160      "@@@STEP_LOG_LINE@python.inline@os.system('chmod 0644 %s/*' % lottie_files_dir)@@@",
161      "@@@STEP_LOG_LINE@python.inline@os.system('chmod 0644 %s/*' % lottie_build)@@@",
162      "@@@STEP_LOG_LINE@python.inline@@@@",
163      "@@@STEP_LOG_LINE@python.inline@# Prepare output folder, api.file.ensure_directory doesn't touch@@@",
164      "@@@STEP_LOG_LINE@python.inline@# the permissions of the out directory if it already exists.@@@",
165      "@@@STEP_LOG_LINE@python.inline@# This typically means that the non-privileged docker won't be able to write.@@@",
166      "@@@STEP_LOG_LINE@python.inline@os.chmod(out_dir, 0o777)@@@",
167      "@@@STEP_LOG_END@python.inline@@@"
168    ]
169  },
170  {
171    "cmd": [
172      "python",
173      "-u",
174      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
175    ],
176    "name": "get swarming bot id",
177    "~followup_annotations": [
178      "@@@STEP_LOG_LINE@python.inline@import os@@@",
179      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
180      "@@@STEP_LOG_END@python.inline@@@"
181    ]
182  },
183  {
184    "cmd": [
185      "python",
186      "-u",
187      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
188    ],
189    "name": "get swarming task id",
190    "~followup_annotations": [
191      "@@@STEP_LOG_LINE@python.inline@import os@@@",
192      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
193      "@@@STEP_LOG_END@python.inline@@@"
194    ]
195  },
196  {
197    "cmd": [
198      "docker",
199      "run",
200      "--shm-size=2gb",
201      "--rm",
202      "-v",
203      "[START_DIR]/cache/work:/SRC",
204      "-v",
205      "[START_DIR]/[SWARM_OUT_DIR]:/OUT",
206      "-v",
207      "[START_DIR]/cache/work/lottie/build/player:/LOTTIE_BUILD",
208      "-v",
209      "/tmp/lottie_files:/LOTTIE_FILES",
210      "gcr.io/skia-public/gold-lottie-web-puppeteer:v2",
211      "/SRC/skia/infra/lottiecap/docker/lottiecap_gold.sh",
212      "--builder",
213      "Test-Debian9-none-GCE-CPU-AVX2-x86_64-Debug-All-LottieWeb",
214      "--git_hash",
215      "abc123",
216      "--buildbucket_build_id",
217      "",
218      "--bot_id",
219      "",
220      "--task_id",
221      "",
222      "--browser",
223      "Chrome",
224      "--config",
225      "Debug"
226    ],
227    "env": {
228      "CHROME_HEADLESS": "1",
229      "DOCKER_CONFIG": "/home/chrome-bot/.docker",
230      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
231    },
232    "name": "Create lottie-web Gold output with Docker"
233  },
234  {
235    "name": "$result"
236  }
237]