• 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_prefixes": {
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      "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",
116      "[START_DIR]/cache/work/skia/modules/pathkit/npm-wasm/bin",
117      "[START_DIR]/build",
118      "pathkit.wasm",
119      "[START_DIR]/[SWARM_OUT_DIR]"
120    ],
121    "infra_step": true,
122    "name": "Set up for docker",
123    "~followup_annotations": [
124      "@@@STEP_LOG_LINE@python.inline@import errno@@@",
125      "@@@STEP_LOG_LINE@python.inline@import os@@@",
126      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
127      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
128      "@@@STEP_LOG_LINE@python.inline@@@@",
129      "@@@STEP_LOG_LINE@python.inline@copy_dest = sys.argv[1]@@@",
130      "@@@STEP_LOG_LINE@python.inline@base_dir = sys.argv[2]@@@",
131      "@@@STEP_LOG_LINE@python.inline@bundle_name = sys.argv[3]@@@",
132      "@@@STEP_LOG_LINE@python.inline@out_dir = sys.argv[4]@@@",
133      "@@@STEP_LOG_LINE@python.inline@@@@",
134      "@@@STEP_LOG_LINE@python.inline@# Clean out old binaries (if any)@@@",
135      "@@@STEP_LOG_LINE@python.inline@try:@@@",
136      "@@@STEP_LOG_LINE@python.inline@  shutil.rmtree(copy_dest)@@@",
137      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
138      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.ENOENT:@@@",
139      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
140      "@@@STEP_LOG_LINE@python.inline@@@@",
141      "@@@STEP_LOG_LINE@python.inline@# Make folder@@@",
142      "@@@STEP_LOG_LINE@python.inline@try:@@@",
143      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(copy_dest)@@@",
144      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
145      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.EEXIST:@@@",
146      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
147      "@@@STEP_LOG_LINE@python.inline@@@@",
148      "@@@STEP_LOG_LINE@python.inline@# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests@@@",
149      "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/)@@@",
150      "@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'pathkit.js')@@@",
151      "@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)@@@",
152      "@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
153      "@@@STEP_LOG_LINE@python.inline@@@@",
154      "@@@STEP_LOG_LINE@python.inline@if bundle_name:@@@",
155      "@@@STEP_LOG_LINE@python.inline@  dest = os.path.join(copy_dest, bundle_name)@@@",
156      "@@@STEP_LOG_LINE@python.inline@  shutil.copyfile(os.path.join(base_dir, bundle_name), dest)@@@",
157      "@@@STEP_LOG_LINE@python.inline@  os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
158      "@@@STEP_LOG_LINE@python.inline@@@@",
159      "@@@STEP_LOG_LINE@python.inline@# Prepare output folder, api.file.ensure_directory doesn't touch@@@",
160      "@@@STEP_LOG_LINE@python.inline@# the permissions of the out directory if it already exists.@@@",
161      "@@@STEP_LOG_LINE@python.inline@os.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.@@@",
162      "@@@STEP_LOG_END@python.inline@@@"
163    ]
164  },
165  {
166    "cmd": [
167      "python",
168      "-u",
169      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
170    ],
171    "name": "get swarming bot id",
172    "stdout": "/path/to/tmp/",
173    "~followup_annotations": [
174      "@@@STEP_LOG_LINE@python.inline@import os@@@",
175      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
176      "@@@STEP_LOG_END@python.inline@@@"
177    ]
178  },
179  {
180    "cmd": [
181      "python",
182      "-u",
183      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
184    ],
185    "name": "get swarming task id",
186    "stdout": "/path/to/tmp/",
187    "~followup_annotations": [
188      "@@@STEP_LOG_LINE@python.inline@import os@@@",
189      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
190      "@@@STEP_LOG_END@python.inline@@@"
191    ]
192  },
193  {
194    "cmd": [
195      "docker",
196      "run",
197      "--shm-size=2gb",
198      "--rm",
199      "--volume",
200      "[START_DIR]/cache/work:/SRC",
201      "--volume",
202      "[START_DIR]/[SWARM_OUT_DIR]:/OUT",
203      "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v6",
204      "/SRC/skia/infra/pathkit/perf_pathkit.sh",
205      "--builder",
206      "Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit",
207      "--git_hash",
208      "abc123",
209      "--buildbucket_build_id",
210      "",
211      "--bot_id",
212      "",
213      "--task_id",
214      "",
215      "--browser",
216      "Chrome",
217      "--config",
218      "Release",
219      "--source_type",
220      "pathkit"
221    ],
222    "env": {
223      "CHROME_HEADLESS": "1",
224      "DOCKER_CONFIG": "/home/chrome-bot/.docker",
225      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
226    },
227    "name": "Performance tests of PathKit with Docker"
228  },
229  {
230    "jsonResult": null,
231    "name": "$result"
232  }
233]