• 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      "--patch_ref",
48      "https://skia.googlesource.com/skia.git@89/456789/12",
49      "--revision",
50      "skia@abc123"
51    ],
52    "cwd": "[START_DIR]/cache/work",
53    "env_prefixes": {
54      "PATH": [
55        "RECIPE_REPO[depot_tools]"
56      ]
57    },
58    "infra_step": true,
59    "name": "bot_update",
60    "~followup_annotations": [
61      "@@@STEP_TEXT@Some step text@@@",
62      "@@@STEP_LOG_LINE@json.output@{@@@",
63      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
64      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
65      "@@@STEP_LOG_LINE@json.output@    \"skia\": \"abc123\"@@@",
66      "@@@STEP_LOG_LINE@json.output@  }, @@@",
67      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
68      "@@@STEP_LOG_LINE@json.output@    \"skia\": {@@@",
69      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
70      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
71      "@@@STEP_LOG_LINE@json.output@    }@@@",
72      "@@@STEP_LOG_LINE@json.output@  }, @@@",
73      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
74      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"skia\", @@@",
75      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
76      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
77      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
78      "@@@STEP_LOG_LINE@json.output@  }, @@@",
79      "@@@STEP_LOG_LINE@json.output@  \"root\": \"skia\", @@@",
80      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
81      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
82      "@@@STEP_LOG_LINE@json.output@      \"skia\": {@@@",
83      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
84      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/skia.git\", @@@",
85      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
86      "@@@STEP_LOG_LINE@json.output@        }@@@",
87      "@@@STEP_LOG_LINE@json.output@      }@@@",
88      "@@@STEP_LOG_LINE@json.output@    }, @@@",
89      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
90      "@@@STEP_LOG_LINE@json.output@  }, @@@",
91      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
92      "@@@STEP_LOG_LINE@json.output@}@@@",
93      "@@@STEP_LOG_END@json.output@@@",
94      "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
95      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
96    ]
97  },
98  {
99    "cmd": [
100      "python",
101      "-u",
102      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
103      "--json-output",
104      "/path/to/tmp/json",
105      "ensure-directory",
106      "--mode",
107      "0777",
108      "[START_DIR]/[SWARM_OUT_DIR]"
109    ],
110    "infra_step": true,
111    "name": "mkdirs out_dir"
112  },
113  {
114    "cmd": [
115      "python",
116      "-u",
117      "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n  shutil.rmtree(copy_dest)\nexcept OSError as e:\n  if e.errno != errno.ENOENT:\n    raise\n\n# Make folder\ntry:\n  os.makedirs(copy_dest)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n  dest = os.path.join(copy_dest, bundle_name)\n  shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n  os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
118      "[START_DIR]/cache/work/skia/modules/pathkit/npm-wasm/bin",
119      "[START_DIR]/build",
120      "pathkit.wasm",
121      "[START_DIR]/[SWARM_OUT_DIR]"
122    ],
123    "infra_step": true,
124    "name": "Set up for docker",
125    "~followup_annotations": [
126      "@@@STEP_LOG_LINE@python.inline@import errno@@@",
127      "@@@STEP_LOG_LINE@python.inline@import os@@@",
128      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
129      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
130      "@@@STEP_LOG_LINE@python.inline@@@@",
131      "@@@STEP_LOG_LINE@python.inline@copy_dest = sys.argv[1]@@@",
132      "@@@STEP_LOG_LINE@python.inline@base_dir = sys.argv[2]@@@",
133      "@@@STEP_LOG_LINE@python.inline@bundle_name = sys.argv[3]@@@",
134      "@@@STEP_LOG_LINE@python.inline@out_dir = sys.argv[4]@@@",
135      "@@@STEP_LOG_LINE@python.inline@@@@",
136      "@@@STEP_LOG_LINE@python.inline@# Clean out old binaries (if any)@@@",
137      "@@@STEP_LOG_LINE@python.inline@try:@@@",
138      "@@@STEP_LOG_LINE@python.inline@  shutil.rmtree(copy_dest)@@@",
139      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
140      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.ENOENT:@@@",
141      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
142      "@@@STEP_LOG_LINE@python.inline@@@@",
143      "@@@STEP_LOG_LINE@python.inline@# Make folder@@@",
144      "@@@STEP_LOG_LINE@python.inline@try:@@@",
145      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(copy_dest)@@@",
146      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
147      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.EEXIST:@@@",
148      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
149      "@@@STEP_LOG_LINE@python.inline@@@@",
150      "@@@STEP_LOG_LINE@python.inline@# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests@@@",
151      "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/)@@@",
152      "@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'pathkit.js')@@@",
153      "@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)@@@",
154      "@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
155      "@@@STEP_LOG_LINE@python.inline@@@@",
156      "@@@STEP_LOG_LINE@python.inline@if bundle_name:@@@",
157      "@@@STEP_LOG_LINE@python.inline@  dest = os.path.join(copy_dest, bundle_name)@@@",
158      "@@@STEP_LOG_LINE@python.inline@  shutil.copyfile(os.path.join(base_dir, bundle_name), dest)@@@",
159      "@@@STEP_LOG_LINE@python.inline@  os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
160      "@@@STEP_LOG_LINE@python.inline@@@@",
161      "@@@STEP_LOG_LINE@python.inline@# Prepare output folder, api.file.ensure_directory doesn't touch@@@",
162      "@@@STEP_LOG_LINE@python.inline@# the permissions of the out directory if it already exists.@@@",
163      "@@@STEP_LOG_LINE@python.inline@os.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.@@@",
164      "@@@STEP_LOG_END@python.inline@@@"
165    ]
166  },
167  {
168    "cmd": [
169      "python",
170      "-u",
171      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
172    ],
173    "name": "get swarming bot id",
174    "stdout": "/path/to/tmp/",
175    "~followup_annotations": [
176      "@@@STEP_LOG_LINE@python.inline@import os@@@",
177      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
178      "@@@STEP_LOG_END@python.inline@@@"
179    ]
180  },
181  {
182    "cmd": [
183      "python",
184      "-u",
185      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
186    ],
187    "name": "get swarming task id",
188    "stdout": "/path/to/tmp/",
189    "~followup_annotations": [
190      "@@@STEP_LOG_LINE@python.inline@import os@@@",
191      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
192      "@@@STEP_LOG_END@python.inline@@@"
193    ]
194  },
195  {
196    "cmd": [
197      "docker",
198      "run",
199      "--shm-size=2gb",
200      "--rm",
201      "--volume",
202      "[START_DIR]/cache/work:/SRC",
203      "--volume",
204      "[START_DIR]/[SWARM_OUT_DIR]:/OUT",
205      "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v6",
206      "/SRC/skia/infra/pathkit/perf_pathkit.sh",
207      "--builder",
208      "Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit",
209      "--git_hash",
210      "abc123",
211      "--buildbucket_build_id",
212      "",
213      "--bot_id",
214      "",
215      "--task_id",
216      "",
217      "--browser",
218      "Chrome",
219      "--config",
220      "Release",
221      "--source_type",
222      "pathkit",
223      "--issue",
224      "1234",
225      "--patchset",
226      "7",
227      "--patch_storage",
228      "gerrit"
229    ],
230    "env": {
231      "CHROME_HEADLESS": "1",
232      "DOCKER_CONFIG": "/home/chrome-bot/.docker",
233      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
234    },
235    "name": "Performance tests of PathKit with Docker"
236  },
237  {
238    "jsonResult": null,
239    "name": "$result"
240  }
241]