| [ |
| { |
| "cmd": [], |
| "name": "fetch master" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/project" |
| ], |
| "infra_step": true, |
| "name": "fetch master.makedirs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "init" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.git init", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote", |
| "add", |
| "origin", |
| "https://chromium.googlesource.com/project" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.git remote", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "fetch.uriprotocols", |
| "https" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.set fetch.uriprotocols", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "fetch master.cache", |
| "~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]/git/chromium.googlesource.com-project" |
| ], |
| "cwd": "[START_DIR]/project", |
| "infra_step": true, |
| "name": "fetch master.cache.makedirs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "", |
| "[CACHE]/git/.GUARD_FILE" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "infra_step": true, |
| "name": "fetch master.cache.write guard file", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_END@.GUARD_FILE@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "init", |
| "--bare" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "fetch master.cache.git init", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "remote.origin.url", |
| "https://chromium.googlesource.com/project" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "fetch master.cache.remote set-url", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "fetch.uriprotocols", |
| "https" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "fetch master.cache.set fetch.uriprotocols", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "--replace-all", |
| "remote.origin.fetch", |
| "+refs/heads/*:refs/heads/*", |
| "\\+refs/heads/\\*:.*" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "fetch master.cache.replace fetch configs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "--prune", |
| "--tags", |
| "origin" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "fetch master.cache.git fetch", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "remove", |
| "[CACHE]/git/.GUARD_FILE" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "infra_step": true, |
| "name": "fetch master.cache.remove guard file", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/project/.git/objects/info" |
| ], |
| "cwd": "[START_DIR]/project", |
| "infra_step": true, |
| "name": "fetch master.cache.makedirs object/info", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[CACHE]/git/chromium.googlesource.com-project/objects\n", |
| "[START_DIR]/project/.git/objects/info/alternates" |
| ], |
| "cwd": "[START_DIR]/project", |
| "infra_step": true, |
| "name": "fetch master.cache.alternates", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@alternates@[CACHE]/git/chromium.googlesource.com-project/objects@@@", |
| "@@@STEP_LOG_END@alternates@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "--tags", |
| "origin", |
| "master" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.git fetch", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "-f", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.git checkout", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rev-parse", |
| "HEAD" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.git rev-parse", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "clean", |
| "-f", |
| "-d", |
| "-x" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.git clean", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "fetch master.submodule", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "sync" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.submodule.git submodule sync", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "update", |
| "--init" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "fetch master.submodule.git submodule update", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[CLEANUP]/tmp_tmp_1" |
| ], |
| "infra_step": true, |
| "name": "makedirs" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "init" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "git init" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote", |
| "add", |
| "origin", |
| "https://chromium.googlesource.com/project" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "git remote" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "fetch.uriprotocols", |
| "https" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "set fetch.uriprotocols" |
| }, |
| { |
| "cmd": [], |
| "name": "cache" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[CACHE]/git/chromium.googlesource.com-project" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "infra_step": true, |
| "name": "cache.makedirs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "", |
| "[CACHE]/git/.GUARD_FILE" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "infra_step": true, |
| "name": "cache.write guard file", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_END@.GUARD_FILE@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "init", |
| "--bare" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "cache.git init", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "remote.origin.url", |
| "https://chromium.googlesource.com/project" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "cache.remote set-url", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "fetch.uriprotocols", |
| "https" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "cache.set fetch.uriprotocols", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "--replace-all", |
| "remote.origin.fetch", |
| "+refs/heads/*:refs/heads/*", |
| "\\+refs/heads/\\*:.*" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "cache.replace fetch configs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "--prune", |
| "--tags", |
| "origin" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "name": "cache.git fetch", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "remove", |
| "[CACHE]/git/.GUARD_FILE" |
| ], |
| "cwd": "[CACHE]/git/chromium.googlesource.com-project", |
| "infra_step": true, |
| "name": "cache.remove guard file", |
| "~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", |
| "[CLEANUP]/tmp_tmp_1/.git/objects/info" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "infra_step": true, |
| "name": "cache.makedirs object/info", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[CACHE]/git/chromium.googlesource.com-project/objects\n", |
| "[CLEANUP]/tmp_tmp_1/.git/objects/info/alternates" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "infra_step": true, |
| "name": "cache.alternates", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@alternates@[CACHE]/git/chromium.googlesource.com-project/objects@@@", |
| "@@@STEP_LOG_END@alternates@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "--tags", |
| "origin", |
| "refs/changes/56/123456/7" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "git fetch" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "-f", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "git checkout" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rev-parse", |
| "HEAD" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "git rev-parse" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "clean", |
| "-f", |
| "-d", |
| "-x" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "git clean" |
| }, |
| { |
| "cmd": [], |
| "name": "submodule" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "sync" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "submodule.git submodule sync", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "update", |
| "--init" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "submodule.git submodule update", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rebase", |
| "deadbeef" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "git rebase" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "show", |
| "HEAD", |
| "--format=%B", |
| "--no-patch" |
| ], |
| "cwd": "[CLEANUP]/tmp_tmp_1", |
| "name": "get commit msg", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@commit message@Foo@@@", |
| "@@@STEP_LOG_LINE@commit message@@@@", |
| "@@@STEP_LOG_LINE@commit message@Change-Id: Iabc@@@", |
| "@@@STEP_LOG_END@commit message@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "install infra/tools/luci/gerrit" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[CACHE]/cipd/infra/tools/luci/gerrit/latest" |
| ], |
| "infra_step": true, |
| "name": "install infra/tools/luci/gerrit.ensure package directory", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[CACHE]/cipd/infra/tools/luci/gerrit/latest", |
| "-ensure-file", |
| "infra/tools/luci/gerrit/${platform} latest", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "install infra/tools/luci/gerrit.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/gerrit/resolved-platform\"@@@", |
| "@@@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": [ |
| "[CACHE]/cipd/infra/tools/luci/gerrit/latest/gerrit", |
| "set-review", |
| "-host", |
| "https://chromium-review.googlesource.com", |
| "-input", |
| "{\"change_id\": \"123456\", \"input\": {\"message\": \"This change requires the 'LSC' footer with a link to a bug. If you don't believe this change is an LSC, please add the 'LSC' footer with a description explaining why it is not. See http://go/fuchsia-lsc for additional details.\"}, \"revision_id\": \"current\"}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "name": "comment on CL", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_END@json.output (invalid)@@@", |
| "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@", |
| "@@@STEP_LOG_END@json.output (exception)@@@", |
| "@@@STEP_LOG_LINE@json.input@{@@@", |
| "@@@STEP_LOG_LINE@json.input@ \"change_id\": \"123456\", @@@", |
| "@@@STEP_LOG_LINE@json.input@ \"input\": {@@@", |
| "@@@STEP_LOG_LINE@json.input@ \"message\": \"This change requires the 'LSC' footer with a link to a bug. If you don't believe this change is an LSC, please add the 'LSC' footer with a description explaining why it is not. See http://go/fuchsia-lsc for additional details.\"@@@", |
| "@@@STEP_LOG_LINE@json.input@ }, @@@", |
| "@@@STEP_LOG_LINE@json.input@ \"revision_id\": \"current\"@@@", |
| "@@@STEP_LOG_LINE@json.input@}@@@", |
| "@@@STEP_LOG_END@json.input@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "import sys; sys.exit(1)" |
| ], |
| "name": "no 'LSC' footer", |
| "~followup_annotations": [ |
| "@@@STEP_TEXT@this change requires an LSC bug because of the files it touches@@@", |
| "@@@STEP_FAILURE@@@" |
| ] |
| }, |
| { |
| "failure": { |
| "failure": {}, |
| "humanReason": "Step(\"no 'LSC' footer\") (retcode: 1)" |
| }, |
| "name": "$result" |
| } |
| ] |