| [ |
| { |
| "cmd": [], |
| "name": "get roll direction", |
| "~followup_annotations": [ |
| "@@@STEP_SUMMARY_TEXT@forward@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "merge-base", |
| "--is-ancestor", |
| "0000000000000000000000000000000000000000", |
| "1111111111111111111111111111111111111111" |
| ], |
| "cwd": "[START_DIR]/checkout", |
| "name": "get roll direction.is forward", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "merge-base", |
| "--is-ancestor", |
| "1111111111111111111111111111111111111111", |
| "0000000000000000000000000000000000000000" |
| ], |
| "cwd": "[START_DIR]/checkout", |
| "name": "get roll direction.is backward", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "remote" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "remote.name", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote", |
| "get-url", |
| "origin" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "remote.url", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "proj" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "log", |
| "--pretty=format:%H\n%an\n%ae\n%B", |
| "-z", |
| "0000000000000000000000000000000000000000..1111111111111111111111111111111111111111" |
| ], |
| "cwd": "[START_DIR]/project", |
| "name": "proj.git log", |
| "timeout": 600.0, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "proj.ensure infra/tools/luci/gerrit/${platform}", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "proj.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]/project", |
| "infra_step": true, |
| "name": "proj.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": "proj.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]/project", |
| "infra_step": true, |
| "name": "proj.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]/project", |
| "infra_step": true, |
| "name": "proj.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:1111111111111111111111111111111111111111\"}}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "cwd": "[START_DIR]/project", |
| "infra_step": true, |
| "name": "proj.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:1111111111111111111111111111111111111111\"@@@", |
| "@@@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]/project", |
| "infra_step": true, |
| "name": "proj.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": "remote (2)", |
| "~followup_annotations": [ |
| "@@@STEP_SUMMARY_TEXT@'https://pigweed.googlesource.com/pigweed/pigweed'@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "gerrit_name", |
| "~followup_annotations": [ |
| "@@@STEP_SUMMARY_TEXT@'pigweed'@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "emails", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@authors@author@example.com@@@", |
| "@@@STEP_LOG_END@authors@@@", |
| "@@@STEP_LOG_LINE@reviewers@nobody@google.com@@@", |
| "@@@STEP_LOG_LINE@reviewers@reviewer@example.com@@@", |
| "@@@STEP_LOG_LINE@reviewers@robot@gserviceaccount.com@@@", |
| "@@@STEP_LOG_END@reviewers@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "roll message" |
| }, |
| { |
| "cmd": [], |
| "name": "roll message.message for proj", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@template@roll: {project_name}: {sanitized_message}@@@", |
| "@@@STEP_LOG_LINE@template@@@@", |
| "@@@STEP_LOG_LINE@template@{remote}@@@", |
| "@@@STEP_LOG_LINE@template@{project_name} Rolled-Commits: {old_revision:.15}..{new_revision:.15}@@@", |
| "@@@STEP_LOG_END@template@@@", |
| "@@@STEP_LOG_LINE@kwargs@'new_revision': '1111111111111111111111111111111111111111'@@@", |
| "@@@STEP_LOG_LINE@kwargs@'old_revision': '0000000000000000000000000000000000000000'@@@", |
| "@@@STEP_LOG_LINE@kwargs@'original_message': 'foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo \\n\\nbar\\n\\nBug: 123\\nCC: foo\\nFoo-Auto-Submit: true\\n'@@@", |
| "@@@STEP_LOG_LINE@kwargs@'project_name': 'proj'@@@", |
| "@@@STEP_LOG_LINE@kwargs@'remote': 'https://pigweed.googlesource.com/pigweed/pigweed'@@@", |
| "@@@STEP_LOG_LINE@kwargs@'sanitized_message': 'foo foo foo foo foo foo foo foo foo foo \\n\\nfoo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo \\n\\nbar\\n\\nOriginal-Bug: 123'@@@", |
| "@@@STEP_LOG_END@kwargs@@@", |
| "@@@STEP_LOG_LINE@message@roll: proj: foo foo foo foo foo foo foo foo foo foo @@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo @@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@bar@@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@Original-Bug: 123@@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@https://pigweed.googlesource.com/pigweed/pigweed@@@", |
| "@@@STEP_LOG_LINE@message@proj Rolled-Commits: 000000000000000..111111111111111@@@", |
| "@@@STEP_LOG_END@message@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "message", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@message@roll: proj: foo foo foo foo foo foo foo foo foo foo @@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo @@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@bar@@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@Original-Bug: 123@@@", |
| "@@@STEP_LOG_LINE@message@@@@", |
| "@@@STEP_LOG_LINE@message@https://pigweed.googlesource.com/pigweed/pigweed@@@", |
| "@@@STEP_LOG_LINE@message@proj Rolled-Commits: 000000000000000..111111111111111@@@", |
| "@@@STEP_LOG_LINE@message@--divider--@@@", |
| "@@@STEP_LOG_END@message@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd_tool/infra/tools/luci/gerrit/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07/gerrit", |
| "account-query", |
| "-host", |
| "https://pigweed-review.googlesource.com", |
| "-input", |
| "{\"params\": {\"q\": \"email:email@example.com\"}}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "email@example.com", |
| "timeout": 600, |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@json.output@[@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"_account_id\": 123@@@", |
| "@@@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\": \"email:email@example.com\"@@@", |
| "@@@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", |
| "account-query", |
| "-host", |
| "https://pigweed-review.googlesource.com", |
| "-input", |
| "{\"params\": {\"q\": \"email:nobody@google.com\"}}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "nobody@google.com", |
| "timeout": 600, |
| "~followup_annotations": [ |
| "@@@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\": \"email:nobody@google.com\"@@@", |
| "@@@STEP_LOG_LINE@json.input@ }@@@", |
| "@@@STEP_LOG_LINE@json.input@}@@@", |
| "@@@STEP_LOG_END@json.input@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "CCing" |
| }, |
| { |
| "cmd": [], |
| "name": "CCing.cc user@example.com", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@CCing@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd_tool/infra/tools/luci/gerrit/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07/gerrit", |
| "account-query", |
| "-host", |
| "https://pigweed-review.googlesource.com", |
| "-input", |
| "{\"params\": {\"q\": \"email:user@example.com\"}}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "CCing.cc user@example.com.user@example.com", |
| "timeout": 600, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@json.output@[@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"_account_id\": 123@@@", |
| "@@@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\": \"email:user@example.com\"@@@", |
| "@@@STEP_LOG_LINE@json.input@ }@@@", |
| "@@@STEP_LOG_LINE@json.input@}@@@", |
| "@@@STEP_LOG_END@json.input@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "not CCing, domain excluded" |
| }, |
| { |
| "cmd": [], |
| "name": "not CCing, domain excluded.cc user@example.com", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@not CCing, domain excluded@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "not CCing, robot account" |
| }, |
| { |
| "cmd": [], |
| "name": "not CCing, robot account.cc robot@gserviceaccount.com", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@not CCing, robot account@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "not CCing, no account in Gerrit" |
| }, |
| { |
| "cmd": [], |
| "name": "not CCing, no account in Gerrit.cc nobody@google.com", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@not CCing, no account in Gerrit@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd_tool/infra/tools/luci/gerrit/0e548aa33f8113a45a5b3b62201e114e98e63d00f97296912380138f44597b07/gerrit", |
| "account-query", |
| "-host", |
| "https://pigweed-review.googlesource.com", |
| "-input", |
| "{\"params\": {\"q\": \"email:nobody@google.com\"}}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "not CCing, no account in Gerrit.cc nobody@google.com.nobody@google.com", |
| "timeout": 600, |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@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\": \"email:nobody@google.com\"@@@", |
| "@@@STEP_LOG_LINE@json.input@ }@@@", |
| "@@@STEP_LOG_LINE@json.input@}@@@", |
| "@@@STEP_LOG_END@json.input@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |