[
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file",
      "file.txt",
      "file.txt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_file file.txt"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file",
      "file.txt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "cat_file file.txt"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "file.txt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm file.txt"
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "rmtree",
      "results_dir"
    ],
    "infra_step": true,
    "name": "rmtree results_dir"
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "ensure-directory",
      "--mode",
      "0o777",
      "results_dir"
    ],
    "infra_step": true,
    "name": "makedirs results_dir"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "device_results_dir"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm device_results_dir"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
      "device_results_dir"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir device_results_dir"
  },
  {
    "cmd": [
      "idevicepair",
      "validate"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "check if device is paired"
  },
  {
    "cmd": [
      "ideviceimagemounter",
      "--list"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "list mounted image"
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "glob",
      "[START_DIR]",
      "ios-dev-image*"
    ],
    "env": {
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
    },
    "infra_step": true,
    "name": "locate ios-dev-image package",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@glob@[START_DIR]/ios-dev-image-13.2@@@",
      "@@@STEP_LOG_END@glob@@@"
    ]
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "listdir",
      "[START_DIR]/ios-dev-image-13.2"
    ],
    "env": {
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice"
    },
    "infra_step": true,
    "name": "locate image and signature",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@listdir@[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg@@@",
      "@@@STEP_LOG_LINE@listdir@[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg.signature@@@",
      "@@@STEP_LOG_END@listdir@@@"
    ]
  },
  {
    "cmd": [
      "ideviceimagemounter",
      "[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg",
      "[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg.signature"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "mount developer image"
  },
  {
    "cmd": [
      "ideviceinstaller",
      "-i",
      "[START_DIR]/build/dm.app"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "install dm",
    "~followup_annotations": [
      "@@@STEP_EXCEPTION@@@"
    ]
  },
  {
    "cmd": [
      "ideviceinstaller",
      "-U",
      "com.google.dm"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "uninstall dm"
  },
  {
    "cmd": [
      "ideviceinstaller",
      "-i",
      "[START_DIR]/build/dm.app"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "install dm (attempt 2)"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
      "[START_DIR]/skia/resources",
      "resources"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_if_needed [START_DIR]/skia/resources"
  },
  {
    "cmd": [
      "vpython3",
      "-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",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@VERSION@42@@@",
      "@@@STEP_LOG_END@VERSION@@@"
    ]
  },
  {
    "cmd": [
      "vpython3",
      "-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",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
      "@@@STEP_LOG_END@SKP_VERSION@@@"
    ]
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file",
      "tmp/SKP_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "cat_file tmp/SKP_VERSION"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "tmp/SKP_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm tmp/SKP_VERSION"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "skps"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm skps"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
      "skps"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir skps"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
      "[START_DIR]/skp",
      "skps"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_if_needed [START_DIR]/skp"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file",
      "[START_DIR]/tmp/SKP_VERSION",
      "tmp/SKP_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_file [START_DIR]/tmp/SKP_VERSION"
  },
  {
    "cmd": [
      "vpython3",
      "-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",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@VERSION@42@@@",
      "@@@STEP_LOG_END@VERSION@@@"
    ]
  },
  {
    "cmd": [
      "vpython3",
      "-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",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
      "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
    ]
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file",
      "tmp/SK_IMAGE_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "cat_file tmp/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "tmp/SK_IMAGE_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm tmp/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "images"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm images"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
      "images"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir images"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
      "[START_DIR]/skimage",
      "images"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_if_needed [START_DIR]/skimage"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file",
      "[START_DIR]/tmp/SK_IMAGE_VERSION",
      "tmp/SK_IMAGE_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_file [START_DIR]/tmp/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "vpython3",
      "-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",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@VERSION@42@@@",
      "@@@STEP_LOG_END@VERSION@@@"
    ]
  },
  {
    "cmd": [
      "vpython3",
      "-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",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
      "@@@STEP_LOG_END@SVG_VERSION@@@"
    ]
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file",
      "tmp/SVG_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "cat_file tmp/SVG_VERSION"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "tmp/SVG_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm tmp/SVG_VERSION"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_rm",
      "svgs"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm svgs"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir",
      "svgs"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir svgs"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed",
      "[START_DIR]/svg",
      "svgs"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_if_needed [START_DIR]/svg"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file",
      "[START_DIR]/tmp/SVG_VERSION",
      "tmp/SVG_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push_file [START_DIR]/tmp/SVG_VERSION"
  },
  {
    "cmd": [
      "idevicedebug",
      "run",
      "com.google.dm",
      "--some-flag"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "dm"
  },
  {
    "cmd": [
      "[START_DIR]/skia/platform_tools/ios/bin/ios_pull_if_needed",
      "dm",
      "[START_DIR]/[SWARM_OUT_DIR]"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "IOS_BUNDLE_ID": "com.google.dm",
      "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "pull_if_needed dm"
  },
  {
    "name": "$result"
  }
]