[
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "fail",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "fail again",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "do the thing"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "do a thing"
  },
  {
    "cmd": [
      "echo",
      "0"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "run 0"
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "myfile.txt",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "read myfile.txt",
    "~followup_annotations": [
      "@@@STEP_LOG_END@myfile.txt@@@"
    ]
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "contents",
      "myfile.txt"
    ],
    "infra_step": true,
    "name": "write myfile.txt",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@myfile.txt@contents@@@",
      "@@@STEP_LOG_END@myfile.txt@@@"
    ]
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "rmtree",
      "mydir"
    ],
    "infra_step": true,
    "name": "rmtree mydir"
  },
  {
    "cmd": [
      "vpython3",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[START_DIR]\\cache\\work\\skia\\infra\\bots\\assets\\my_asset\\VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get my_asset VERSION",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@VERSION@42@@@",
      "@@@STEP_LOG_END@VERSION@@@"
    ]
  },
  {
    "cmd": [
      "env"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "mydir:<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "env"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry fail",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "between_attempt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "between_attempts #1"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry fail (attempt 2)",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "between_attempt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "between_attempts #2"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry fail (attempt 3)",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "between_attempt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "between_attempts #3"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry fail (attempt 4)",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "between_attempt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "between_attempts #4"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry fail (attempt 5)",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "between_attempt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "between_attempts #5"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry success",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "between_attempt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "between_attempts #1 (2)"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry success (attempt 2)",
    "~followup_annotations": [
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "cmd": [
      "echo",
      "between_attempt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "between_attempts #2 (2)"
  },
  {
    "cmd": [
      "false"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
    },
    "name": "retry success (attempt 3)"
  },
  {
    "failure": {
      "failure": {},
      "humanReason": "Failed build steps: fail, fail again, retry fail, retry fail (attempt 2), retry fail (attempt 3), retry fail (attempt 4), retry fail (attempt 5)"
    },
    "name": "$result"
  }
]