2019-08-01 17:39:34 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"cmd": [
|
2019-09-09 22:36:05 +00:00
|
|
|
"vpython",
|
2019-08-01 17:39:34 +00:00
|
|
|
"-u",
|
|
|
|
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
|
|
|
"--json-output",
|
|
|
|
"/path/to/tmp/json",
|
|
|
|
"ensure-directory",
|
|
|
|
"--mode",
|
|
|
|
"0777",
|
|
|
|
"[START_DIR]/tmp"
|
|
|
|
],
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "makedirs tmp_dir"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"python",
|
|
|
|
"-u",
|
|
|
|
"import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
|
|
|
|
],
|
|
|
|
"name": "get swarming bot id",
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@import os@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
|
|
|
|
"@@@STEP_LOG_END@python.inline@@@"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"shell",
|
|
|
|
"mkdir",
|
|
|
|
"-p",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/resources"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
2019-09-09 22:36:05 +00:00
|
|
|
"vpython",
|
2019-08-01 17:39:34 +00:00
|
|
|
"-u",
|
|
|
|
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
|
|
|
"--json-output",
|
|
|
|
"/path/to/tmp/json",
|
|
|
|
"copy",
|
|
|
|
"[START_DIR]/skia/infra/bots/assets/mskp/VERSION",
|
|
|
|
"/path/to/tmp/"
|
|
|
|
],
|
|
|
|
"infra_step": true,
|
2019-10-30 21:44:56 +00:00
|
|
|
"name": "Get mskp VERSION",
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_LOG_LINE@VERSION@42@@@",
|
|
|
|
"@@@STEP_LOG_END@VERSION@@@"
|
|
|
|
]
|
2019-08-01 17:39:34 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
2019-09-09 22:36:05 +00:00
|
|
|
"vpython",
|
2019-08-01 17:39:34 +00:00
|
|
|
"-u",
|
|
|
|
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
|
|
|
"--json-output",
|
|
|
|
"/path/to/tmp/json",
|
|
|
|
"copy",
|
|
|
|
"42",
|
|
|
|
"[START_DIR]/tmp/MSKP_VERSION"
|
|
|
|
],
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "write MSKP_VERSION",
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_LOG_LINE@MSKP_VERSION@42@@@",
|
|
|
|
"@@@STEP_LOG_END@MSKP_VERSION@@@"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"shell",
|
|
|
|
"cat",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/MSKP_VERSION"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "read /sdcard/revenge_of_the_skiabot/MSKP_VERSION"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
2020-08-04 15:17:36 +00:00
|
|
|
"shell",
|
|
|
|
"rm",
|
|
|
|
"-f",
|
2019-08-01 17:39:34 +00:00
|
|
|
"/sdcard/revenge_of_the_skiabot/MSKP_VERSION"
|
|
|
|
],
|
2020-08-04 15:17:36 +00:00
|
|
|
"cwd": "[START_DIR]/skia",
|
2019-08-01 17:39:34 +00:00
|
|
|
"env": {
|
2020-08-04 15:17:36 +00:00
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
2019-08-01 17:39:34 +00:00
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
2020-08-04 15:17:36 +00:00
|
|
|
"name": "rm /sdcard/revenge_of_the_skiabot/MSKP_VERSION"
|
2019-08-01 17:39:34 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
2020-08-04 15:17:36 +00:00
|
|
|
"shell",
|
|
|
|
"rm",
|
|
|
|
"-rf",
|
2019-08-01 17:39:34 +00:00
|
|
|
"/sdcard/revenge_of_the_skiabot/mskp"
|
|
|
|
],
|
2020-08-04 15:17:36 +00:00
|
|
|
"cwd": "[START_DIR]/skia",
|
2019-08-01 17:39:34 +00:00
|
|
|
"env": {
|
2020-08-04 15:17:36 +00:00
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
2019-08-01 17:39:34 +00:00
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
2020-08-04 15:17:36 +00:00
|
|
|
"name": "rm /sdcard/revenge_of_the_skiabot/mskp"
|
2019-08-01 17:39:34 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"shell",
|
|
|
|
"mkdir",
|
|
|
|
"-p",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/mskp"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "mkdir /sdcard/revenge_of_the_skiabot/mskp"
|
|
|
|
},
|
2019-10-14 17:03:50 +00:00
|
|
|
{
|
|
|
|
"cmd": [],
|
|
|
|
"name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp"
|
|
|
|
},
|
2019-08-01 17:39:34 +00:00
|
|
|
{
|
|
|
|
"cmd": [
|
2019-10-14 17:03:50 +00:00
|
|
|
"vpython",
|
2019-08-01 17:39:34 +00:00
|
|
|
"-u",
|
2019-10-14 17:03:50 +00:00
|
|
|
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
|
|
|
"--json-output",
|
|
|
|
"/path/to/tmp/json",
|
|
|
|
"listdir",
|
2019-08-01 17:39:34 +00:00
|
|
|
"[START_DIR]/mskp",
|
2019-10-14 17:03:50 +00:00
|
|
|
"--recursive"
|
|
|
|
],
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.list [START_DIR]/mskp",
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_NEST_LEVEL@1@@@",
|
|
|
|
"@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/.file3@@@",
|
|
|
|
"@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/.ignore/file4@@@",
|
|
|
|
"@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/file1@@@",
|
|
|
|
"@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/subdir/file2@@@",
|
|
|
|
"@@@STEP_LOG_END@listdir@@@"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"push",
|
|
|
|
"[START_DIR]/mskp/.file3",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/mskp/.file3"
|
2019-08-01 17:39:34 +00:00
|
|
|
],
|
2019-10-14 17:03:50 +00:00
|
|
|
"cwd": "[START_DIR]/skia",
|
2019-08-01 17:39:34 +00:00
|
|
|
"env": {
|
2019-10-14 17:03:50 +00:00
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
2019-08-01 17:39:34 +00:00
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
2019-10-14 17:03:50 +00:00
|
|
|
"name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/.file3",
|
2019-08-01 17:39:34 +00:00
|
|
|
"~followup_annotations": [
|
2019-10-14 17:03:50 +00:00
|
|
|
"@@@STEP_NEST_LEVEL@1@@@"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"push",
|
|
|
|
"[START_DIR]/mskp/file1",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/mskp/file1"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/file1",
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_NEST_LEVEL@1@@@"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"push",
|
|
|
|
"[START_DIR]/mskp/subdir/file2",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/mskp/subdir/file2"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/subdir/file2",
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_NEST_LEVEL@1@@@"
|
2019-08-01 17:39:34 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"push",
|
|
|
|
"[START_DIR]/tmp/MSKP_VERSION",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/MSKP_VERSION"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "push [START_DIR]/tmp/MSKP_VERSION /sdcard/revenge_of_the_skiabot/MSKP_VERSION"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
2019-09-09 22:36:05 +00:00
|
|
|
"vpython",
|
2019-08-01 17:39:34 +00:00
|
|
|
"-u",
|
|
|
|
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
|
|
|
"--json-output",
|
|
|
|
"/path/to/tmp/json",
|
|
|
|
"ensure-directory",
|
|
|
|
"--mode",
|
|
|
|
"0777",
|
|
|
|
"[START_DIR]/[SWARM_OUT_DIR]"
|
|
|
|
],
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "makedirs perf_dir"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"adb.1.0.35",
|
|
|
|
"push",
|
|
|
|
"[START_DIR]/build/skpbench",
|
|
|
|
"/data/local/tmp/"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "push skpbench"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"python",
|
|
|
|
"-u",
|
|
|
|
"[START_DIR]/skia/tools/skpbench/skpbench.py",
|
|
|
|
"/data/local/tmp/skpbench",
|
|
|
|
"--resultsfile",
|
|
|
|
"[START_DIR]/[SWARM_OUT_DIR]/table",
|
|
|
|
"--config",
|
|
|
|
"gles",
|
|
|
|
"-v5",
|
|
|
|
"--adb",
|
|
|
|
"--adb_binary",
|
|
|
|
"adb.1.0.35",
|
|
|
|
"/sdcard/revenge_of_the_skiabot/mskp"
|
|
|
|
],
|
|
|
|
"env": {
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"name": "skpbench"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"python",
|
|
|
|
"-u",
|
|
|
|
"import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
|
|
|
|
],
|
|
|
|
"name": "get swarming task id",
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@import os@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
|
|
|
|
"@@@STEP_LOG_END@python.inline@@@"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"python",
|
|
|
|
"-u",
|
|
|
|
"[START_DIR]/skia/tools/skpbench/skiaperf.py",
|
|
|
|
"[START_DIR]/[SWARM_OUT_DIR]/table",
|
|
|
|
"--properties",
|
|
|
|
"gitHash",
|
|
|
|
"abc123",
|
|
|
|
"swarming_bot_id",
|
|
|
|
"skia-bot-123",
|
|
|
|
"swarming_task_id",
|
|
|
|
"123456",
|
|
|
|
"--outfile",
|
|
|
|
"[START_DIR]/[SWARM_OUT_DIR]/skpbench_abc123_1337000001.json",
|
|
|
|
"--key",
|
|
|
|
"arch",
|
|
|
|
"arm64",
|
|
|
|
"compiler",
|
|
|
|
"Clang",
|
|
|
|
"cpu_or_gpu",
|
|
|
|
"GPU",
|
|
|
|
"cpu_or_gpu_value",
|
|
|
|
"Adreno530",
|
|
|
|
"extra_config",
|
|
|
|
"Android_Skpbench_Mskp",
|
|
|
|
"model",
|
|
|
|
"Pixel",
|
|
|
|
"os",
|
|
|
|
"Android",
|
|
|
|
"test_filter",
|
|
|
|
"All"
|
|
|
|
],
|
|
|
|
"env": {
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"name": "Parse skpbench output into Perf json"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"python",
|
|
|
|
"-u",
|
2019-12-21 00:06:12 +00:00
|
|
|
"\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n try:\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n except subprocess.CalledProcessError:\n pass\n print line\n",
|
2019-08-01 17:39:34 +00:00
|
|
|
"[START_DIR]/build"
|
|
|
|
],
|
|
|
|
"env": {
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "dump log",
|
|
|
|
"timeout": 300,
|
|
|
|
"~followup_annotations": [
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@import os@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
|
2019-12-21 00:06:12 +00:00
|
|
|
"@@@STEP_LOG_LINE@python.inline@ try:@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ except subprocess.CalledProcessError:@@@",
|
|
|
|
"@@@STEP_LOG_LINE@python.inline@ pass@@@",
|
2019-08-01 17:39:34 +00:00
|
|
|
"@@@STEP_LOG_LINE@python.inline@ print line@@@",
|
|
|
|
"@@@STEP_LOG_END@python.inline@@@"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cmd": [
|
|
|
|
"/usr/bin/adb.1.0.35",
|
|
|
|
"kill-server"
|
|
|
|
],
|
|
|
|
"cwd": "[START_DIR]/skia",
|
|
|
|
"env": {
|
|
|
|
"ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
|
|
|
|
"CHROME_HEADLESS": "1",
|
|
|
|
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
|
|
|
},
|
|
|
|
"infra_step": true,
|
|
|
|
"name": "kill adb server"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "$result"
|
|
|
|
}
|
|
|
|
]
|