[
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nCHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')\nwith open(CHROMECAST_IP_FILE, 'r') as f:\n  print f.read()\n"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "read chromecast ip",
    "stdout": "/path/to/tmp/",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import os@@@",
      "@@@STEP_LOG_LINE@python.inline@CHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')@@@",
      "@@@STEP_LOG_LINE@python.inline@with open(CHROMECAST_IP_FILE, 'r') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@  print f.read()@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "adb",
      "connect",
      "192.168.1.2:5555"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "adb connect 192.168.1.2:5555"
  },
  {
    "cmd": [
      "adb",
      "shell",
      "mkdir",
      "-p",
      "/cache/skia/resources"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "mkdir /cache/skia/resources"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nhost   = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n  p = os.path.relpath(d, host)\n  if p != '.' and p.startswith('.'):\n    continue\n  for f in fs:\n    print os.path.join(p,f)\n    hp = os.path.realpath(os.path.join(host, p, f))\n    if os.stat(hp).st_size > (3 * 1024 * 1024):\n      print \"Skipping because it is too big\"\n    else:\n      subprocess.check_call(['adb', 'push',\n                            hp, os.path.join(device, p, f)])\n",
      "[START_DIR]/skia/resources",
      "/cache/skia/resources"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skia/resources/* /cache/skia/resources",
    "~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@host   = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
      "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
      "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
      "@@@STEP_LOG_LINE@python.inline@    continue@@@",
      "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
      "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
      "@@@STEP_LOG_LINE@python.inline@    hp = os.path.realpath(os.path.join(host, p, f))@@@",
      "@@@STEP_LOG_LINE@python.inline@    if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
      "@@@STEP_LOG_LINE@python.inline@      print \"Skipping because it is too big\"@@@",
      "@@@STEP_LOG_LINE@python.inline@    else:@@@",
      "@@@STEP_LOG_LINE@python.inline@      subprocess.check_call(['adb', 'push',@@@",
      "@@@STEP_LOG_LINE@python.inline@                            hp, os.path.join(device, p, f)])@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get downloaded SKP VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "42",
      "[START_DIR]/tmp/SKP_VERSION"
    ],
    "infra_step": true,
    "name": "write SKP_VERSION"
  },
  {
    "cmd": [
      "adb",
      "shell",
      "cat",
      "/cache/skia/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "read /cache/skia/SKP_VERSION",
    "stdout": "/path/to/tmp/"
  },
  {
    "cmd": [
      "adb",
      "shell",
      "rm",
      "-f",
      "/cache/skia/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "rm /cache/skia/SKP_VERSION"
  },
  {
    "cmd": [
      "adb",
      "shell",
      "rm",
      "-r",
      "/cache/skia/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "rm /cache/skia/skps"
  },
  {
    "cmd": [
      "adb",
      "shell",
      "mkdir",
      "-p",
      "/cache/skia/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "mkdir /cache/skia/skps"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nhost   = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n  p = os.path.relpath(d, host)\n  if p != '.' and p.startswith('.'):\n    continue\n  for f in fs:\n    print os.path.join(p,f)\n    hp = os.path.realpath(os.path.join(host, p, f))\n    if os.stat(hp).st_size > (3 * 1024 * 1024):\n      print \"Skipping because it is too big\"\n    else:\n      subprocess.check_call(['adb', 'push',\n                            hp, os.path.join(device, p, f)])\n",
      "[START_DIR]/skp",
      "/cache/skia/skps"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skp/* /cache/skia/skps",
    "~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@host   = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
      "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
      "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
      "@@@STEP_LOG_LINE@python.inline@    continue@@@",
      "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
      "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
      "@@@STEP_LOG_LINE@python.inline@    hp = os.path.realpath(os.path.join(host, p, f))@@@",
      "@@@STEP_LOG_LINE@python.inline@    if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
      "@@@STEP_LOG_LINE@python.inline@      print \"Skipping because it is too big\"@@@",
      "@@@STEP_LOG_LINE@python.inline@    else:@@@",
      "@@@STEP_LOG_LINE@python.inline@      subprocess.check_call(['adb', 'push',@@@",
      "@@@STEP_LOG_LINE@python.inline@                            hp, os.path.join(device, p, f)])@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "adb",
      "push",
      "[START_DIR]/tmp/SKP_VERSION",
      "/cache/skia/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/tmp/SKP_VERSION /cache/skia/SKP_VERSION"
  },
  {
    "cmd": [
      "adb",
      "shell",
      "rm",
      "-r",
      "/cache/skia/perf"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "rm /cache/skia/perf"
  },
  {
    "cmd": [
      "adb",
      "shell",
      "mkdir",
      "-p",
      "/cache/skia/perf"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "mkdir /cache/skia/perf"
  },
  {
    "cmd": [
      "python",
      "-u",
      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
    ],
    "name": "get swarming bot id",
    "stdout": "/path/to/tmp/",
    "~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": [
      "python",
      "-u",
      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
    ],
    "name": "get swarming task id",
    "stdout": "/path/to/tmp/",
    "~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": [
      "adb",
      "push",
      "[START_DIR]/out/Release/nanobench",
      "/cache/skia/"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "push nanobench"
  },
  {
    "cmd": [
      "ssh",
      "-oConnectTimeout=15",
      "-oBatchMode=yes",
      "-t",
      "-t",
      "root@192.168.1.2",
      "/cache/skia/nanobench",
      "--config",
      "8888",
      "gles",
      "--nocpu",
      "-i",
      "/cache/skia/resources",
      "--images",
      "/cache/skia/resources/color_wheel.jpg",
      "--skps",
      "/cache/skia/skps",
      "--pre_log",
      "--match",
      "~matrixconvolution",
      "~blur_image_filter",
      "~blur_0.01",
      "~GM_animated-image-blurs",
      "~blendmode_mask_",
      "--outResultsFile",
      "/cache/skia/perf/nanobench_abc123_1337000001.json",
      "--properties",
      "gitHash",
      "abc123",
      "swarming_bot_id",
      "skia-bot-123",
      "swarming_task_id",
      "123456",
      "--key",
      "arch",
      "arm",
      "compiler",
      "GCC",
      "cpu_or_gpu",
      "GPU",
      "cpu_or_gpu_value",
      "Cortex_A7",
      "model",
      "Chorizo",
      "os",
      "Chromecast"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "name": "nanobench"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "ensure-directory",
      "--mode",
      "0777",
      "[CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release/data"
    ],
    "infra_step": true,
    "name": "makedirs perf_dir"
  },
  {
    "cmd": [
      "adb",
      "pull",
      "/cache/skia/perf",
      "[CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release/data"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "pull /cache/skia/perf [CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release/data"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['adb', '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      sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n      line = line.replace(addr, addr + ' ' + sym.strip())\n  print line\n",
      "[START_DIR]/out/Release"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "dump log",
    "~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(['adb', '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):@@@",
      "@@@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@  print line@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "adb",
      "kill-server"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/out"
    },
    "infra_step": true,
    "name": "kill adb server"
  },
  {
    "name": "$result",
    "recipe_result": null,
    "status_code": 0
  }
]