[
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
      "--spec-path",
      "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]",
      "--patch_root",
      "src",
      "--revision_mapping_file",
      "{\"got_angle_revision\": \"src/third_party/angle\", \"got_cr_revision\": \"src\", \"got_revision\": \"src\", \"got_v8_revision\": \"src/v8\"}",
      "--git-cache-dir",
      "[GIT_CACHE]",
      "--cleanup-dir",
      "[CLEANUP]/bot_update",
      "--issue",
      "12345",
      "--patchset",
      "654321",
      "--rietveld_server",
      "https://rietveld.example.com/",
      "--output_json",
      "/path/to/tmp/json",
      "--revision",
      "src@HEAD",
      "--disable-syntax-validation"
    ],
    "env_prefixes": {
      "PATH": [
        "RECIPE_PACKAGE_REPO[depot_tools]"
      ]
    },
    "infra_step": true,
    "name": "bot_update",
    "~followup_annotations": [
      "@@@STEP_TEXT@Some step text@@@",
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"failed_patch_body\": \"Downloading patch...\\nApplying the patch...\\nPatch: foo/bar.py\\nIndex: foo/bar.py\\ndiff --git a/foo/bar.py b/foo/bar.py\\nindex HASH..HASH MODE\\n--- a/foo/bar.py\\n+++ b/foo/bar.py\\ncontext\\n+something\\n-something\\nmore context\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"src\": \"HEAD\"@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"src\": {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
      "@@@STEP_LOG_LINE@json.output@    }, @@@",
      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/angle\": {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/third_party/angle.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
      "@@@STEP_LOG_LINE@json.output@    }, @@@",
      "@@@STEP_LOG_LINE@json.output@    \"src/v8\": {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/v8.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
      "@@@STEP_LOG_LINE@json.output@    }@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"patch_apply_return_code\": 1, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": true, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"src\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_angle_revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_angle_revision_cp\": \"refs/heads/master@{#297276}\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_cr_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_cr_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_v8_revision\": \"801ada225ddc271c132c3a35f03975671d43e399\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_v8_revision_cp\": \"refs/heads/master@{#43426}\"@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"root\": \"src\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"src\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
      "@@@STEP_LOG_LINE@json.output@        }@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"src/third_party/angle\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/third_party/angle.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
      "@@@STEP_LOG_LINE@json.output@        }@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"src/v8\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/v8.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
      "@@@STEP_LOG_LINE@json.output@        }@@@",
      "@@@STEP_LOG_LINE@json.output@      }@@@",
      "@@@STEP_LOG_LINE@json.output@    }, @@@",
      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@",
      "@@@SET_BUILD_PROPERTY@got_angle_revision@\"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
      "@@@SET_BUILD_PROPERTY@got_angle_revision_cp@\"refs/heads/master@{#297276}\"@@@",
      "@@@SET_BUILD_PROPERTY@got_cr_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
      "@@@SET_BUILD_PROPERTY@got_cr_revision_cp@\"refs/heads/master@{#170242}\"@@@",
      "@@@SET_BUILD_PROPERTY@got_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#170242}\"@@@",
      "@@@SET_BUILD_PROPERTY@got_v8_revision@\"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
      "@@@SET_BUILD_PROPERTY@got_v8_revision_cp@\"refs/heads/master@{#43426}\"@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "import sys; sys.exit(1)"
    ],
    "name": "Patch failure",
    "~followup_annotations": [
      "step returned non-zero exit code: 1",
      "@@@STEP_TEXT@See attached log. Try rebasing?@@@",
      "@@@STEP_LOG_LINE@patch error@Downloading patch...@@@",
      "@@@STEP_LOG_LINE@patch error@Applying the patch...@@@",
      "@@@STEP_LOG_LINE@patch error@Patch: foo/bar.py@@@",
      "@@@STEP_LOG_LINE@patch error@Index: foo/bar.py@@@",
      "@@@STEP_LOG_LINE@patch error@diff --git a/foo/bar.py b/foo/bar.py@@@",
      "@@@STEP_LOG_LINE@patch error@index HASH..HASH MODE@@@",
      "@@@STEP_LOG_LINE@patch error@--- a/foo/bar.py@@@",
      "@@@STEP_LOG_LINE@patch error@+++ b/foo/bar.py@@@",
      "@@@STEP_LOG_LINE@patch error@context@@@",
      "@@@STEP_LOG_LINE@patch error@+something@@@",
      "@@@STEP_LOG_LINE@patch error@-something@@@",
      "@@@STEP_LOG_LINE@patch error@more context@@@",
      "@@@STEP_LOG_END@patch error@@@",
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "name": "$result",
    "reason": "Step('Patch failure') failed with return_code 1",
    "recipe_result": null,
    "status_code": 1
  }
]