| [ |
| { |
| "cmd": [], |
| "name": "dest1" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "ls-remote", |
| "--heads", |
| "https://foo.googlesource.com/foo", |
| "main" |
| ], |
| "name": "dest1.git ls-remote", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@stdout@h3ll0\trefs/heads/main@@@", |
| "@@@STEP_LOG_END@stdout@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0o777", |
| "[START_DIR]/checkout" |
| ], |
| "infra_step": true, |
| "name": "dest1.ensure directory [START_DIR]/checkout", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/dest1", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "dest1.read destination dest1", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@dest1@old1@@@", |
| "@@@STEP_LOG_END@dest1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "dest1.ensure infra/tools/luci/gitiles/${platform}", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "dest1.ensure infra/tools/luci/gitiles/${platform}.get packages", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "RECIPE_MODULE[fuchsia::gitiles]/resources/cipd.ensure", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "dest1.ensure infra/tools/luci/gitiles/${platform}.get packages.read ensure file", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_LINE@cipd.ensure@infra/tools/luci/gitiles/${platform} version:pinned-version@@@", |
| "@@@STEP_LOG_END@cipd.ensure@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "dest1.ensure infra/tools/luci/gitiles/${platform}.install infra/tools/luci/gitiles", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0o777", |
| "[START_DIR]/cipd_tool/infra/tools/luci/gitiles/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07" |
| ], |
| "infra_step": true, |
| "name": "dest1.ensure infra/tools/luci/gitiles/${platform}.install infra/tools/luci/gitiles.ensure package directory", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd_tool/infra/tools/luci/gitiles/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07", |
| "-ensure-file", |
| "infra/tools/luci/gitiles/${platform} version:pinned-version", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "dest1.ensure infra/tools/luci/gitiles/${platform}.install infra/tools/luci/gitiles.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@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-version:pinned-v\",@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/gitiles/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": [ |
| "[START_DIR]/cipd_tool/infra/tools/luci/gitiles/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07/gitiles", |
| "download-file", |
| "https://foo.googlesource.com/foo", |
| "h3ll0", |
| "source1" |
| ], |
| "infra_step": true, |
| "name": "dest1.read source source1", |
| "timeout": 300.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "dest1.new source1", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@'new1'@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "new1", |
| "[START_DIR]/checkout/dest1" |
| ], |
| "infra_step": true, |
| "name": "dest1.write destination dest1", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@dest1@new1@@@", |
| "@@@STEP_LOG_END@dest1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "dest2" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "ls-remote", |
| "--heads", |
| "https://foo.googlesource.com/bar", |
| "main" |
| ], |
| "name": "dest2.git ls-remote", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@stdout@h3ll0\trefs/heads/main@@@", |
| "@@@STEP_LOG_END@stdout@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0o777", |
| "[START_DIR]/checkout" |
| ], |
| "infra_step": true, |
| "name": "dest2.ensure directory [START_DIR]/checkout", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/dest2", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "dest2.read destination dest2", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@dest2@old2@@@", |
| "@@@STEP_LOG_END@dest2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd_tool/infra/tools/luci/gitiles/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07/gitiles", |
| "download-file", |
| "https://foo.googlesource.com/bar", |
| "h3ll0", |
| "source2" |
| ], |
| "infra_step": true, |
| "name": "dest2.read source source2", |
| "timeout": 300.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "dest2.new source2", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@'new2'@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "new2", |
| "[START_DIR]/checkout/dest2" |
| ], |
| "infra_step": true, |
| "name": "dest2.write destination dest2", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@dest2@new2@@@", |
| "@@@STEP_LOG_END@dest2@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "commit message", |
| "~followup_annotations": [ |
| "@@@STEP_SUMMARY_TEXT@roll: dest1, dest2\n\ndest1\nFrom\n old1\nTo\n new1\n\ndest2\nFrom\n old2\nTo\n new2@@@", |
| "@@@SET_BUILD_PROPERTY@dest1@{\"new\": \"new1\", \"old\": \"old1\", \"path\": \"dest1\"}@@@", |
| "@@@SET_BUILD_PROPERTY@dest2@{\"new\": \"new2\", \"old\": \"old2\", \"path\": \"dest2\"}@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |