[
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/resources"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/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    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
      "[START_DIR]/skia/resources",
      "/sdcard/revenge_of_the_skiabot/resources"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/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@    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
      "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
      "@@@STEP_LOG_LINE@python.inline@                           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 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": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION",
    "stdout": "/path/to/tmp/"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-f",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-rf",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/skps"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/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    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
      "[START_DIR]/skp",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/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@    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
      "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
      "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/SKP_VERSION",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get skimage VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "42",
      "[START_DIR]/tmp/SK_IMAGE_VERSION"
    ],
    "infra_step": true,
    "name": "write SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION",
    "stdout": "/path/to/tmp/"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-f",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-rf",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/images"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/images"
  },
  {
    "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    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
      "[START_DIR]/skimage",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images",
    "~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@    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
      "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
      "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/SK_IMAGE_VERSION",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get svg VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "42",
      "[START_DIR]/tmp/SVG_VERSION"
    ],
    "infra_step": true,
    "name": "write SVG_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION",
    "stdout": "/path/to/tmp/"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-f",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-rf",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/svgs"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
  },
  {
    "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    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
      "[START_DIR]/svg",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs",
    "~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@    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
      "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
      "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/SVG_VERSION",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-rf",
      "/sdcard/revenge_of_the_skiabot/perf"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/perf"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/perf"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/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": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\ngov = sys.argv[3]\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n  raise Exception('adb root failed')\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])\nactual_gov = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()\nif actual_gov != gov:\n  raise Exception('(actual, expected) (%s, %s)'\n                  % (actual_gov, gov))\n",
      "/usr/bin/adb.1.0.35",
      "0",
      "userspace"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "Set CPU 0's governor to userspace",
    "timeout": 30,
    "~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@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@",
      "@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
      "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
      "@@@STEP_LOG_LINE@python.inline@print log@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('adb root failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('(actual, expected) (%s, %s)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_gov, gov))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ntarget_percent = float(sys.argv[2])\ncpu = int(sys.argv[3])\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n  raise Exception('adb root failed')\n\nroot = '/sys/devices/system/cpu/cpu%d/cpufreq' %cpu\n\n# All devices we test on give a list of their available frequencies.\navailable_freqs = subprocess.check_output([ADB, 'shell',\n    'cat %s/scaling_available_frequencies' % root])\n\n# Check for message like '/system/bin/sh: file not found'\nif available_freqs and '/system/bin/sh' not in available_freqs:\n  available_freqs = sorted(\n      int(i) for i in available_freqs.strip().split())\nelse:\n  raise Exception('Could not get list of available frequencies: %s' %\n                  available_freqs)\n\nmaxfreq = available_freqs[-1]\ntarget = int(round(maxfreq * target_percent))\nfreq = maxfreq\nfor f in reversed(available_freqs):\n  if f <= target:\n    freq = f\n    break\n\nprint 'Setting frequency to %d' % freq\n\n# If scaling_max_freq is lower than our attempted setting, it won't take.\n# We must set min first, because if we try to set max to be less than min\n# (which sometimes happens after certain devices reboot) it returns a\n# perplexing permissions error.\nsubprocess.check_output([ADB, 'shell', 'echo 0 > '\n    '%s/scaling_min_freq' % root])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n    '%s/scaling_max_freq' % (freq, root)])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n    '%s/scaling_setspeed' % (freq, root)])\ntime.sleep(5)\nactual_freq = subprocess.check_output([ADB, 'shell', 'cat '\n    '%s/scaling_cur_freq' % root]).strip()\nif actual_freq != str(freq):\n  raise Exception('(actual, expected) (%s, %d)'\n                  % (actual_freq, freq))\n",
      "/usr/bin/adb.1.0.35",
      "0.6",
      "0"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "Scale CPU 0 to 0.600000",
    "timeout": 30,
    "~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@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@target_percent = float(sys.argv[2])@@@",
      "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[3])@@@",
      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
      "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
      "@@@STEP_LOG_LINE@python.inline@print log@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('adb root failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@root = '/sys/devices/system/cpu/cpu%d/cpufreq' %cpu@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# All devices we test on give a list of their available frequencies.@@@",
      "@@@STEP_LOG_LINE@python.inline@available_freqs = subprocess.check_output([ADB, 'shell',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'cat %s/scaling_available_frequencies' % root])@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Check for message like '/system/bin/sh: file not found'@@@",
      "@@@STEP_LOG_LINE@python.inline@if available_freqs and '/system/bin/sh' not in available_freqs:@@@",
      "@@@STEP_LOG_LINE@python.inline@  available_freqs = sorted(@@@",
      "@@@STEP_LOG_LINE@python.inline@      int(i) for i in available_freqs.strip().split())@@@",
      "@@@STEP_LOG_LINE@python.inline@else:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Could not get list of available frequencies: %s' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  available_freqs)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@maxfreq = available_freqs[-1]@@@",
      "@@@STEP_LOG_LINE@python.inline@target = int(round(maxfreq * target_percent))@@@",
      "@@@STEP_LOG_LINE@python.inline@freq = maxfreq@@@",
      "@@@STEP_LOG_LINE@python.inline@for f in reversed(available_freqs):@@@",
      "@@@STEP_LOG_LINE@python.inline@  if f <= target:@@@",
      "@@@STEP_LOG_LINE@python.inline@    freq = f@@@",
      "@@@STEP_LOG_LINE@python.inline@    break@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Setting frequency to %d' % freq@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# If scaling_max_freq is lower than our attempted setting, it won't take.@@@",
      "@@@STEP_LOG_LINE@python.inline@# We must set min first, because if we try to set max to be less than min@@@",
      "@@@STEP_LOG_LINE@python.inline@# (which sometimes happens after certain devices reboot) it returns a@@@",
      "@@@STEP_LOG_LINE@python.inline@# perplexing permissions error.@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo 0 > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_min_freq' % root])@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_max_freq' % (freq, root)])@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_setspeed' % (freq, root)])@@@",
      "@@@STEP_LOG_LINE@python.inline@time.sleep(5)@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_freq = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_cur_freq' % root]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_freq != str(freq):@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('(actual, expected) (%s, %d)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_freq, freq))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/build/out/Release/nanobench",
      "/data/local/tmp/"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push nanobench"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --scales 1.0 1.1 --nogpu --config 8888 nonrendering --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm compiler Clang cpu_or_gpu CPU cpu_or_gpu_value Tegra3 extra_config Android model Nexus7 os Android; echo $? >/data/local/tmp/rc",
      "[START_DIR]/tmp/nanobench.sh"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "write nanobench.sh"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/nanobench.sh",
      "/data/local/tmp/"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "push nanobench.sh"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "logcat",
      "-c"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "clear log"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh      = sys.argv[2]\nsubprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])\ntry:\n  sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',\n                                        bin_dir + 'rc'])))\nexcept ValueError:\n  print \"Couldn't read the return code.  Probably killed for OOM.\"\n  sys.exit(1)\n",
      "/data/local/tmp/",
      "nanobench.sh"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "name": "nanobench",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
      "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@sh      = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',@@@",
      "@@@STEP_LOG_LINE@python.inline@                                        bin_dir + 'rc'])))@@@",
      "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
      "@@@STEP_LOG_LINE@python.inline@  print \"Couldn't read the return code.  Probably killed for OOM.\"@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit(1)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "ensure-directory",
      "--mode",
      "0777",
      "[START_DIR]/[SWARM_OUT_DIR]/perfdata/Perf-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android"
    ],
    "infra_step": true,
    "name": "makedirs perf_dir"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "pull",
      "/sdcard/revenge_of_the_skiabot/perf",
      "[START_DIR]/[SWARM_OUT_DIR]/perfdata/Perf-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android/data"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "pull /sdcard/revenge_of_the_skiabot/perf [START_DIR]/[SWARM_OUT_DIR]/perfdata/Perf-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android/data"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\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      sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n      line = line.replace(addr, addr + ' ' + sym.strip())\n  print line\n",
      "[START_DIR]/build/out/Release"
    ],
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "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):@@@",
      "@@@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": [
      "/usr/bin/adb.1.0.35",
      "kill-server"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "BUILDTYPE": "Release",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]/build/out"
    },
    "infra_step": true,
    "name": "kill adb server"
  },
  {
    "name": "$result",
    "recipe_result": null,
    "status_code": 0
  }
]