| [ |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/.gitmodules", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "read .gitmodules", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@.gitmodules@[submodule \"a1\"]@@@", |
| "@@@STEP_LOG_LINE@.gitmodules@\tpath = a1@@@", |
| "@@@STEP_LOG_LINE@.gitmodules@\turl = sso://foo/a1@@@", |
| "@@@STEP_LOG_LINE@.gitmodules@[submodule \"b2\"]@@@", |
| "@@@STEP_LOG_LINE@.gitmodules@\tpath = b2@@@", |
| "@@@STEP_LOG_LINE@.gitmodules@\turl = sso://foo/b2@@@", |
| "@@@STEP_LOG_END@.gitmodules@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "a1" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "update", |
| "--init", |
| "--jobs", |
| "4", |
| "[START_DIR]/checkout/a1" |
| ], |
| "cwd": "[START_DIR]/checkout", |
| "name": "a1.git submodule update", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "log", |
| "--max-count=1", |
| "--pretty=format:%H" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.get old revision", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@1111111111111111111111111111111111111111@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "origin", |
| "main" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.git fetch", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.git checkout", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "log", |
| "--max-count=1", |
| "--pretty=format:%H" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.get new revision", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@2222222222222222222222222222222222222222@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "a1.get roll direction", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@forward@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "merge-base", |
| "--is-ancestor", |
| "1111111111111111111111111111111111111111", |
| "2222222222222222222222222222222222222222" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.get roll direction.is forward", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "merge-base", |
| "--is-ancestor", |
| "2222222222222222222222222222222222222222", |
| "1111111111111111111111111111111111111111" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.get roll direction.is backward", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "a1.remote", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.remote.name", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote", |
| "get-url", |
| "origin" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.remote.url", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "log", |
| "--pretty=format:%H\n%an\n%ae\n%B", |
| "-z", |
| "1111111111111111111111111111111111111111..2222222222222222222222222222222222222222" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "name": "a1.git log", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "a1.ensure infra/tools/luci/gerrit/${platform}", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "a1.ensure infra/tools/luci/gerrit/${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::gerrit]/resources/cipd.ensure", |
| "/path/to/tmp/" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "infra_step": true, |
| "name": "a1.ensure infra/tools/luci/gerrit/${platform}.get packages.read ensure file", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_LINE@cipd.ensure@infra/tools/luci/gerrit/${platform} version:pinned-version@@@", |
| "@@@STEP_LOG_END@cipd.ensure@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "a1.ensure infra/tools/luci/gerrit/${platform}.install infra/tools/luci/gerrit", |
| "~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/gerrit/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "infra_step": true, |
| "name": "a1.ensure infra/tools/luci/gerrit/${platform}.install infra/tools/luci/gerrit.ensure package directory", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd_tool/infra/tools/luci/gerrit/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07", |
| "-ensure-file", |
| "infra/tools/luci/gerrit/${platform} version:pinned-version", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "infra_step": true, |
| "name": "a1.ensure infra/tools/luci/gerrit/${platform}.install infra/tools/luci/gerrit.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/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": [ |
| "[START_DIR]/cipd_tool/infra/tools/luci/gerrit/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07/gerrit", |
| "change-query", |
| "-host", |
| "https://pigweed-review.googlesource.com", |
| "-input", |
| "{\"params\": {\"q\": \"commit:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "infra_step": true, |
| "name": "a1.get change-id", |
| "timeout": 600, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@[@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"_number\": 12345@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@]@@@", |
| "@@@STEP_LOG_END@json.output@@@", |
| "@@@STEP_LOG_LINE@json.input@{@@@", |
| "@@@STEP_LOG_LINE@json.input@ \"params\": {@@@", |
| "@@@STEP_LOG_LINE@json.input@ \"q\": \"commit:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"@@@", |
| "@@@STEP_LOG_LINE@json.input@ }@@@", |
| "@@@STEP_LOG_LINE@json.input@}@@@", |
| "@@@STEP_LOG_END@json.input@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd_tool/infra/tools/luci/gerrit/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07/gerrit", |
| "change-detail", |
| "-host", |
| "https://pigweed-review.googlesource.com", |
| "-input", |
| "{\"change_id\": \"12345\"}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "cwd": "[START_DIR]/checkout/a1", |
| "infra_step": true, |
| "name": "a1.get 12345", |
| "timeout": 600, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"owner\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"email\": \"author@example.com\",@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"author\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ },@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"reviewers\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"REVIEWER\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"email\": \"reviewer@example.com\",@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"reviewer\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ },@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"email\": \"nobody@google.com\",@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"nobody\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ },@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"email\": \"robot@gserviceaccount.com\",@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"robot\"@@@", |
| "@@@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@@@", |
| "@@@STEP_LOG_LINE@json.input@{@@@", |
| "@@@STEP_LOG_LINE@json.input@ \"change_id\": \"12345\"@@@", |
| "@@@STEP_LOG_LINE@json.input@}@@@", |
| "@@@STEP_LOG_END@json.input@@@", |
| "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/12345@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "b2", |
| "~followup_annotations": [ |
| "@@@STEP_SUMMARY_TEXT@no roll required@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "update", |
| "--init", |
| "--jobs", |
| "4", |
| "[START_DIR]/checkout/b2" |
| ], |
| "cwd": "[START_DIR]/checkout", |
| "name": "b2.git submodule update", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "log", |
| "--max-count=1", |
| "--pretty=format:%H" |
| ], |
| "cwd": "[START_DIR]/checkout/b2", |
| "name": "b2.get old revision", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@1111111111111111111111111111111111111111@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "origin", |
| "main" |
| ], |
| "cwd": "[START_DIR]/checkout/b2", |
| "name": "b2.git fetch", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[START_DIR]/checkout/b2", |
| "name": "b2.git checkout", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "log", |
| "--max-count=1", |
| "--pretty=format:%H" |
| ], |
| "cwd": "[START_DIR]/checkout/b2", |
| "name": "b2.get new revision", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@2222222222222222222222222222222222222222@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "b2.get roll direction", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "merge-base", |
| "--is-ancestor", |
| "1111111111111111111111111111111111111111", |
| "2222222222222222222222222222222222222222" |
| ], |
| "cwd": "[START_DIR]/checkout/b2", |
| "name": "b2.get roll direction.is forward", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "merge-base", |
| "--is-ancestor", |
| "2222222222222222222222222222222222222222", |
| "1111111111111111111111111111111111111111" |
| ], |
| "cwd": "[START_DIR]/checkout/b2", |
| "name": "b2.get roll direction.is backward", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "b2.get roll direction.get roll direction", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_SUMMARY_TEXT@up-to-date@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "b2.cancelling roll", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@not updating from 1111111 to 2222222 because 1111111 is newer than 2222222@@@", |
| "@@@STEP_LINK@1111111111111111111111111111111111111111@https://foo.googlesource.com/b2/+/1111111111111111111111111111111111111111@@@", |
| "@@@STEP_LINK@2222222222222222222222222222222222222222@https://foo.googlesource.com/b2/+/2222222222222222222222222222222222222222@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |