blob: bb54f2513561214df71cfaa4c4b0dd06f012b85c [file] [log] [blame]
[
{
"cmd": [
"vpython",
"-u",
"RECIPE_REPO[depot_tools]/gerrit_client.py",
"changes",
"--host",
"https://chromium-review.googlesource.com",
"--json_file",
"/path/to/tmp/json",
"--limit",
"1",
"-p",
"change=456789",
"-o",
"ALL_REVISIONS",
"-o",
"DOWNLOAD_COMMANDS"
],
"env": {
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "gerrit fetch current CL info",
"timeout": 600,
"~followup_annotations": [
"@@@STEP_LOG_LINE@json.output@[@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
"@@@STEP_LOG_LINE@json.output@ \"branch\": \"master\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"owner\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"name\": \"John Doe\"@@@",
"@@@STEP_LOG_LINE@json.output@ }, @@@",
"@@@STEP_LOG_LINE@json.output@ \"revisions\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"184ebe53805e102605d11f6b143486d15c23a09c\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"_number\": \"12\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"ref\": \"refs/changes/89/456789/12\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@]@@@",
"@@@STEP_LOG_END@json.output@@@"
]
},
{
"cmd": [
"vpython",
"-u",
"RECIPE_REPO[depot_tools]/gerrit_client.py",
"changes",
"--host",
"https://chromium-review.googlesource.com",
"--json_file",
"/path/to/tmp/json",
"--limit",
"1",
"-p",
"change=456789",
"-o",
"ALL_REVISIONS",
"-o",
"ALL_COMMITS"
],
"env": {
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "gerrit changes",
"~followup_annotations": [
"@@@STEP_LOG_LINE@json.output@[@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
"@@@STEP_LOG_LINE@json.output@ \"revisions\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"deadbeef\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"_number\": 12, @@@",
"@@@STEP_LOG_LINE@json.output@ \"commit\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"message\": \"\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@]@@@",
"@@@STEP_LOG_END@json.output@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_REPO[depot_tools]/git_footers.py",
"--json",
"/path/to/tmp/json"
],
"name": "parse description",
"~followup_annotations": [
"@@@STEP_LOG_LINE@json.output@{}@@@",
"@@@STEP_LOG_END@json.output@@@"
]
},
{
"cmd": [],
"name": "initialize checkouts"
},
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[CACHE]/builder/recipe_engine"
],
"infra_step": true,
"name": "initialize checkouts.recipe_engine checkout",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
"cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'recipe_engine', 'url': 'https://chromium.googlesource.com/infra/luci/recipes-py'}]",
"--patch_root",
"recipe_engine",
"--revision_mapping_file",
"{\"got_revision\": \"recipe_engine\"}",
"--git-cache-dir",
"[CACHE]/git",
"--cleanup-dir",
"[CLEANUP]/bot_update",
"--output_json",
"/path/to/tmp/json",
"--patch_ref",
"https://chromium.googlesource.com/infra/luci/recipes-py@refs/heads/master:refs/changes/89/456789/12",
"--revision",
"recipe_engine@HEAD"
],
"cwd": "[CACHE]/builder/recipe_engine",
"env": {
"GIT_HTTP_LOW_SPEED_LIMIT": "102400",
"GIT_HTTP_LOW_SPEED_TIME": "300"
},
"env_suffixes": {
"DEPOT_TOOLS_UPDATE": [
"0"
],
"PATH": [
"RECIPE_REPO[depot_tools]"
]
},
"infra_step": true,
"name": "initialize checkouts.bot_update",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_TEXT@Some step text@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
"@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
"@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"recipe_engine\": \"HEAD\"@@@",
"@@@STEP_LOG_LINE@json.output@ }, @@@",
"@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"recipe_engine\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/recipe_engine.git\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"88cacb3086f508cc2e4c620a968149db53e34e35\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ }, @@@",
"@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
"@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"recipe_engine\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"88cacb3086f508cc2e4c620a968149db53e34e35\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#291664}\"@@@",
"@@@STEP_LOG_LINE@json.output@ }, @@@",
"@@@STEP_LOG_LINE@json.output@ \"root\": \"recipe_engine\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"recipe_engine\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/recipe_engine.git\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"88cacb3086f508cc2e4c620a968149db53e34e35\"@@@",
"@@@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_revision@\"88cacb3086f508cc2e4c620a968149db53e34e35\"@@@",
"@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#291664}\"@@@"
]
},
{
"cmd": [
"git",
"rev-parse",
"FETCH_HEAD"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "initialize checkouts.read CL revision",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[CACHE]/builder/depot_tools"
],
"infra_step": true,
"name": "initialize checkouts.depot_tools checkout",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
"cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'depot_tools', 'url': 'https://chromium.googlesource.com/chromium/tools/depot_tools'}]",
"--patch_root",
"depot_tools",
"--revision_mapping_file",
"{\"got_revision\": \"depot_tools\"}",
"--git-cache-dir",
"[CACHE]/git",
"--cleanup-dir",
"[CLEANUP]/bot_update",
"--output_json",
"/path/to/tmp/json",
"--revision",
"depot_tools@HEAD"
],
"cwd": "[CACHE]/builder/depot_tools",
"env": {
"GIT_HTTP_LOW_SPEED_LIMIT": "102400",
"GIT_HTTP_LOW_SPEED_TIME": "300"
},
"env_suffixes": {
"DEPOT_TOOLS_UPDATE": [
"0"
],
"PATH": [
"RECIPE_REPO[depot_tools]"
]
},
"infra_step": true,
"name": "initialize checkouts.bot_update (without patch)",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_TEXT@Some step text@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
"@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
"@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"depot_tools\": \"HEAD\"@@@",
"@@@STEP_LOG_LINE@json.output@ }, @@@",
"@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"depot_tools\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/depot_tools.git\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"59bbfb4465019d8ed83bfe88fef566922953452a\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ }, @@@",
"@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
"@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"depot_tools\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"59bbfb4465019d8ed83bfe88fef566922953452a\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#91780}\"@@@",
"@@@STEP_LOG_LINE@json.output@ }, @@@",
"@@@STEP_LOG_LINE@json.output@ \"root\": \"depot_tools\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"depot_tools\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/depot_tools.git\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"59bbfb4465019d8ed83bfe88fef566922953452a\"@@@",
"@@@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_revision@\"59bbfb4465019d8ed83bfe88fef566922953452a\"@@@",
"@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#91780}\"@@@"
]
},
{
"cmd": [
"git",
"clean",
"-xf"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "git clean"
},
{
"cmd": [
"git",
"checkout",
"-f",
"refs/remotes/origin/master"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "sync recipe_engine to master"
},
{
"cmd": [],
"name": "find last non-crashing upstream revision",
"~followup_annotations": [
"@@@STEP_FAILURE@@@"
]
},
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/depot_tools/depot_tools/infra/config/recipes.cfg",
"/path/to/tmp/"
],
"infra_step": true,
"name": "find last non-crashing upstream revision.parse recipes.cfg",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@recipes.cfg@{@@@",
"@@@STEP_LOG_LINE@recipes.cfg@ \"recipes_path\": \"some/path\"@@@",
"@@@STEP_LOG_LINE@recipes.cfg@}@@@",
"@@@STEP_LOG_END@recipes.cfg@@@"
]
},
{
"cmd": [
"python",
"-u",
"[CACHE]/builder/depot_tools/depot_tools/some/path/recipes.py",
"-O",
"recipe_engine=[CACHE]/builder/recipe_engine/recipe_engine",
"test",
"train",
"--no-docs"
],
"name": "find last non-crashing upstream revision.train recipes at upstream master",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_FAILURE@@@"
]
},
{
"cmd": [
"git",
"checkout",
"--",
"."
],
"cwd": "[CACHE]/builder/depot_tools/depot_tools",
"infra_step": true,
"name": "find last non-crashing upstream revision.clear diffs from upstream master",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"git",
"clean",
"-xf"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "find last non-crashing upstream revision.git clean",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"git",
"checkout",
"-f",
"HEAD~"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "find last non-crashing upstream revision.checkout upstream at master~1",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"[CACHE]/builder/depot_tools/depot_tools/some/path/recipes.py",
"-O",
"recipe_engine=[CACHE]/builder/recipe_engine/recipe_engine",
"test",
"train",
"--no-docs"
],
"name": "find last non-crashing upstream revision.train recipes at upstream master~1",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [],
"name": "find last non-crashing upstream revision.using upstream master~1 as base",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"git",
"rev-parse",
"HEAD"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "find last non-crashing upstream revision.get upstream base revision",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"git",
"add",
"--all"
],
"cwd": "[CACHE]/builder/depot_tools/depot_tools",
"infra_step": true,
"name": "save post-train downstream diff"
},
{
"cmd": [
"git",
"clean",
"-xf"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "git clean (2)"
},
{
"cmd": [
"git",
"checkout",
"-f",
"deadbeef"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "checkout base for cherry-pick"
},
{
"cmd": [
"git",
"cherry-pick",
"deadbeef"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "cherry-pick CL onto deadbeef",
"~followup_annotations": [
"@@@STEP_EXCEPTION@@@"
]
},
{
"cmd": [
"git",
"cherry-pick",
"--abort"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "git cherry-pick"
},
{
"cmd": [
"git",
"clean",
"-xf"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "git clean (3)"
},
{
"cmd": [
"git",
"checkout",
"-f",
"refs/remotes/origin/master"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "checkout base for cherry-pick (2)"
},
{
"cmd": [
"git",
"cherry-pick",
"deadbeef"
],
"cwd": "[CACHE]/builder/recipe_engine/recipe_engine",
"infra_step": true,
"name": "cherry-pick CL onto refs/remotes/origin/master"
},
{
"cmd": [
"python",
"-u",
"[CACHE]/builder/depot_tools/depot_tools/some/path/recipes.py",
"-O",
"recipe_engine=[CACHE]/builder/recipe_engine/recipe_engine",
"test",
"train",
"--no-docs"
],
"name": "train recipes at upstream CL"
},
{
"cmd": [
"git",
"diff",
"--exit-code"
],
"cwd": "[CACHE]/builder/depot_tools/depot_tools",
"infra_step": true,
"name": "post-train diff at upstream CL"
},
{
"cmd": [
"python",
"-u",
"import sys; sys.exit(0)"
],
"name": "Roll OK",
"~followup_annotations": [
"@@@STEP_TEXT@CL is trivial and message contains no footers for this repo.@@@"
]
},
{
"name": "$result"
}
]