| [ |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/integration" |
| ], |
| "infra_step": true, |
| "name": "makedirs" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "init" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git init" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote", |
| "add", |
| "origin", |
| "https://fuchsia.googlesource.com/integration" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git remote" |
| }, |
| { |
| "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/fuchsia.googlesource.com-integration" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "infra_step": true, |
| "name": "cache.makedirs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "init", |
| "--bare" |
| ], |
| "cwd": "[CACHE]/git/fuchsia.googlesource.com-integration", |
| "name": "cache.git init", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "remote.origin.url", |
| "https://fuchsia.googlesource.com/integration" |
| ], |
| "cwd": "[CACHE]/git/fuchsia.googlesource.com-integration", |
| "name": "cache.remote set-url", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "config", |
| "--replace-all", |
| "remote.origin.fetch", |
| "+refs/heads/*:refs/heads/*", |
| "\\+refs/heads/\\*:.*" |
| ], |
| "cwd": "[CACHE]/git/fuchsia.googlesource.com-integration", |
| "name": "cache.git config", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "--prune", |
| "--tags", |
| "origin" |
| ], |
| "cwd": "[CACHE]/git/fuchsia.googlesource.com-integration", |
| "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", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/integration/.git/objects/info" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "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/fuchsia.googlesource.com-integration/objects\n", |
| "[START_DIR]/integration/.git/objects/info/alternates" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "infra_step": true, |
| "name": "cache.alternates", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@alternates@[CACHE]/git/fuchsia.googlesource.com-integration/objects@@@", |
| "@@@STEP_LOG_END@alternates@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "--tags", |
| "origin", |
| "master" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git fetch" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "-f", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git checkout" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rev-parse", |
| "HEAD" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git rev-parse" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "clean", |
| "-f", |
| "-d", |
| "-x" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git clean" |
| }, |
| { |
| "cmd": [], |
| "name": "submodule" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "sync" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "submodule.git submodule sync", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "update", |
| "--init" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "submodule.git submodule update", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "ls-files", |
| "--modified", |
| "--deleted", |
| "--exclude-standard" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "check for no-op commit", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@stdout@hello@@@", |
| "@@@STEP_LOG_END@stdout@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "diff" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git diff" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "hash-object", |
| "a diff" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git hash-object" |
| }, |
| { |
| "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" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "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" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "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", |
| "change-query", |
| "-host", |
| "https://fuchsia-review.googlesource.com", |
| "-input", |
| "{\"params\": {\"q\": \"change:Iabc1abc1abc1abc1abc1abc1abc1abc1abc1abc1\"}}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "check for identical roll", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@json.output@null@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "commit", |
| "-m", |
| "hello world!\nChange-Id: Iabc1abc1abc1abc1abc1abc1abc1abc1abc1abc1\n", |
| "-a" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git commit" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "push", |
| "--push-option", |
| "nokeycheck", |
| "origin", |
| "HEAD:refs/for/master%l=Commit-Queue+2,l=Code-Review+2" |
| ], |
| "cwd": "[START_DIR]/integration", |
| "name": "git push", |
| "~followup_annotations": [ |
| "@@@STEP_LINK@gerrit link@https://fuchsia-review.googlesource.com/q/Iabc1abc1abc1abc1abc1abc1abc1abc1abc1abc1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "check for completion" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/infra/tools/luci/gerrit/latest/gerrit", |
| "change-detail", |
| "-host", |
| "https://fuchsia-review.googlesource.com", |
| "-input", |
| "{\"change_id\": \"integration~master~Iabc1abc1abc1abc1abc1abc1abc1abc1abc1abc1\"}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "check for completion.check if done (0)", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"labels\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"Commit-Queue\": {}@@@", |
| "@@@STEP_LOG_LINE@json.output@ }, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"status\": \"NEW\"@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/infra/tools/luci/gerrit/latest/gerrit", |
| "change-abandon", |
| "-host", |
| "https://fuchsia-review.googlesource.com", |
| "-input", |
| "{\"change_id\": \"integration~master~Iabc1abc1abc1abc1abc1abc1abc1abc1abc1abc1\"}", |
| "-output", |
| "/path/to/tmp/json" |
| ], |
| "name": "abandon roll", |
| "~followup_annotations": [ |
| "@@@STEP_TEXT@CQ failed@@@", |
| "@@@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_LINK@gerrit link@https://fuchsia-review.googlesource.com/q/Iabc1abc1abc1abc1abc1abc1abc1abc1abc1abc1@@@", |
| "@@@STEP_FAILURE@@@" |
| ] |
| }, |
| { |
| "failure": { |
| "failure": {}, |
| "humanReason": "Failed to roll changes: CQ failed.\n\n[gerrit link](https://fuchsia-review.googlesource.com/q/Iabc1abc1abc1abc1abc1abc1abc1abc1abc1abc1)" |
| }, |
| "name": "$result" |
| } |
| ] |