| [ |
| { |
| "cmd": [ |
| "date", |
| "+%u %H" |
| ], |
| "env": { |
| "TZ": "America/Los_Angeles" |
| }, |
| "name": "get current time" |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "RECIPE_MODULE[fuchsia::tree_status]/resources/tree_status.py", |
| "example.com", |
| "get" |
| ], |
| "infra_step": true, |
| "name": "get current tree status", |
| "~followup_annotations": [ |
| "@@@STEP_TEXT@open@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"date\": \"2020-06-20 09:59:00.000000\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"general_state\": \"open\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"key\": 12345@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@", |
| "@@@STEP_LINK@example.com@https://example.com@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "fetch fuchsia luci-milo.cfg" |
| }, |
| { |
| "cmd": [ |
| "luci-auth", |
| "token", |
| "-lifetime", |
| "3m" |
| ], |
| "infra_step": true, |
| "name": "fetch fuchsia luci-milo.cfg.get access token for default account", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py", |
| "--url", |
| "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/fuchsia/config/luci-milo.cfg", |
| "--status-json", |
| "/path/to/tmp/json", |
| "--outfile", |
| "/path/to/tmp/json", |
| "--headers-json", |
| "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}" |
| ], |
| "infra_step": true, |
| "name": "fetch fuchsia luci-milo.cfg.get", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "check console health" |
| }, |
| { |
| "cmd": [ |
| "bb", |
| "ls", |
| "-host", |
| "cr-buildbucket.appspot.com", |
| "-json", |
| "-nopage", |
| "-n", |
| "5", |
| "-fields", |
| "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,steps.*.name,steps.*.status,summary_markdown,update_time", |
| "-predicate", |
| "{\"builder\": {\"bucket\": \"global.ci\", \"builder\": \"core.x64-asan\", \"project\": \"fuchsia\"}, \"status\": \"ENDED_MASK\"}" |
| ], |
| "infra_step": true, |
| "name": "check console health.core.x64-asan", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"FAILURE\", \"createdBy\": \"user:luci-scheduler@appspot.gserviceaccount.com\", \"builder\": {\"project\": \"fuchsia\", \"builder\": \"core.x64-asan\", \"bucket\": \"global.ci\"}, \"createTime\": \"2018-05-25T23:50:17Z\", \"steps\": [{\"status\": \"FAILURE\", \"name\": \"foo|x\"}, {\"status\": \"SUCCESS\", \"name\": \"bar\"}], \"startTime\": \"2020-06-20T12:00:00Z\", \"input\": {\"gitilesCommit\": {\"project\": \"project\", \"host\": \"chromium.googlesource.com\", \"ref\": \"refs/heads/main\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\"}}, \"infra\": {\"swarming\": {\"priority\": 30}, \"resultdb\": {\"invocation\": \"invocations/build:8945511751514863184\"}}, \"summaryMarkdown\": \"5 tests failed\", \"id\": \"68850688\"}@@@", |
| "@@@STEP_LOG_END@raw_io.output_text@@@", |
| "@@@STEP_LINK@68850688@https://cr-buildbucket.appspot.com/build/68850688@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "bb", |
| "ls", |
| "-host", |
| "cr-buildbucket.appspot.com", |
| "-json", |
| "-nopage", |
| "-n", |
| "5", |
| "-fields", |
| "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,steps.*.name,steps.*.status,summary_markdown,update_time", |
| "-predicate", |
| "{\"builder\": {\"bucket\": \"global.ci\", \"builder\": \"bringup.arm64-asan\", \"project\": \"fuchsia\"}, \"status\": \"ENDED_MASK\"}" |
| ], |
| "infra_step": true, |
| "name": "check console health.bringup.arm64-asan", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"createdBy\": \"user:luci-scheduler@appspot.gserviceaccount.com\", \"builder\": {\"project\": \"fuchsia\", \"builder\": \"bringup.arm64-asan\", \"bucket\": \"global.ci\"}, \"createTime\": \"2018-05-25T23:50:17Z\", \"startTime\": \"2020-06-20T12:00:00Z\", \"input\": {\"gitilesCommit\": {\"project\": \"project\", \"host\": \"chromium.googlesource.com\", \"ref\": \"refs/heads/main\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\"}}, \"infra\": {\"swarming\": {\"priority\": 30}, \"resultdb\": {\"invocation\": \"invocations/build:8945511751514863184\"}}, \"id\": \"97633024\"}@@@", |
| "@@@STEP_LOG_END@raw_io.output_text@@@", |
| "@@@STEP_LINK@97633024@https://cr-buildbucket.appspot.com/build/97633024@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "bb", |
| "ls", |
| "-host", |
| "cr-buildbucket.appspot.com", |
| "-json", |
| "-nopage", |
| "-n", |
| "5", |
| "-fields", |
| "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,steps.*.name,steps.*.status,summary_markdown,update_time", |
| "-predicate", |
| "{\"builder\": {\"bucket\": \"global.ci\", \"builder\": \"core.arm64-asan\", \"project\": \"fuchsia\"}, \"status\": \"ENDED_MASK\"}" |
| ], |
| "infra_step": true, |
| "name": "check console health.core.arm64-asan", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"FAILURE\", \"createdBy\": \"user:luci-scheduler@appspot.gserviceaccount.com\", \"builder\": {\"project\": \"fuchsia\", \"builder\": \"core.arm64-asan\", \"bucket\": \"global.ci\"}, \"createTime\": \"2018-05-25T23:50:17Z\", \"steps\": [{\"status\": \"FAILURE\", \"name\": \"foo\"}], \"startTime\": \"2020-06-20T12:00:00Z\", \"input\": {\"gitilesCommit\": {\"project\": \"project\", \"host\": \"chromium.googlesource.com\", \"ref\": \"refs/heads/main\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\"}}, \"infra\": {\"swarming\": {\"priority\": 30}, \"resultdb\": {\"invocation\": \"invocations/build:8945511751514863184\"}}, \"summaryMarkdown\": \"5 tests failed\", \"id\": \"21068288\"}@@@", |
| "@@@STEP_LOG_END@raw_io.output_text@@@", |
| "@@@STEP_LINK@21068288@https://cr-buildbucket.appspot.com/build/21068288@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "2 builders are failing", |
| "~followup_annotations": [ |
| "@@@STEP_FAILURE@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "get latest revision of integration" |
| }, |
| { |
| "cmd": [], |
| "name": "get latest revision of integration.install infra/tools/luci/gitiles", |
| "~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]/cipd/infra/tools/luci/gitiles/latest" |
| ], |
| "infra_step": true, |
| "name": "get latest revision of integration.install infra/tools/luci/gitiles.ensure package directory", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[CACHE]/cipd/infra/tools/luci/gitiles/latest", |
| "-ensure-file", |
| "infra/tools/luci/gitiles/${platform} latest", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "get latest revision of integration.install infra/tools/luci/gitiles.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@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/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": [ |
| "[CACHE]/cipd/infra/tools/luci/gitiles/latest/gitiles", |
| "log", |
| "-json-output", |
| "/path/to/tmp/json", |
| "-limit", |
| "1", |
| "https://fuchsia.googlesource.com/integration", |
| "refs/heads/main" |
| ], |
| "infra_step": true, |
| "name": "get latest revision of integration.log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@[@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"author\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"email\": \"fake_a@fake_0.email.com\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fake a\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"time\": \"Mon Jan 01 00:00:00 2015\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"committer\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"email\": \"fake_a@fake_0.email.com\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fake a\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"time\": \"Mon Jan 01 00:00:00 2015\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"id\": \"f1a1e156037174581c4690d966697628546f3f1d\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"message\": \"fake a msg 0\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"parents\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"420d6871097ba8a79275a230aa1bfb37dd2bbbce\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ ], @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"tree\": \"fc07a6ce260f7d94c7661bb2e8e0991cf4f97a1c\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"tree_diff\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"new_id\": \"648bbfc404749f1bc922f9385030d117082081b9\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"new_mode\": 33188, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"new_path\": \"a.py\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"old_id\": \"0000000000000000000000000000000000000000\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"old_mode\": 0, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"type\": \"add\"@@@", |
| "@@@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": [], |
| "name": "install fuchsia/infra/monorail" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[CACHE]/cipd/fuchsia/infra/monorail/git_revision%3A8e034134591263b070e92593035f234088f4373c" |
| ], |
| "infra_step": true, |
| "name": "install fuchsia/infra/monorail.ensure package directory", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[CACHE]/cipd/fuchsia/infra/monorail/git_revision%3A8e034134591263b070e92593035f234088f4373c", |
| "-ensure-file", |
| "fuchsia/infra/monorail/${platform} git_revision:8e034134591263b070e92593035f234088f4373c", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "install fuchsia/infra/monorail.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-git_revision:8e0\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/infra/monorail/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/fuchsia/infra/monorail/git_revision%3A8e034134591263b070e92593035f234088f4373c/monorail", |
| "new-issue", |
| "-summary", |
| "2 builders are failing", |
| "-description", |
| "The tree was closed because 2 builders are failing.\n\nLatest commit: https://fuchsia.googlesource.com/integration/+/f1a1e156037174581c4690d966697628546f3f1d\n\nFailing builders:\n\n- core.arm64-asan: https://ci.chromium.org/p/fuchsia/builders/global.ci/core.arm64-asan/b21068288\n\n > 5 tests failed\n\n- core.x64-asan: https://ci.chromium.org/p/fuchsia/builders/global.ci/core.x64-asan/b68850688\n\n > 5 tests failed\n", |
| "-component", |
| "tree-closure", |
| "-label", |
| "tree-closure" |
| ], |
| "infra_step": true, |
| "name": "create monorail bug", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"id\": 605@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@", |
| "@@@STEP_LINK@monorail link@https://fxbug.dev/605@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "RECIPE_MODULE[fuchsia::tree_status]/resources/tree_status.py", |
| "example.com", |
| "set", |
| "Tree is closed: https://fxbug.dev/605", |
| "--username", |
| "builder", |
| "--password", |
| "pa$$word" |
| ], |
| "infra_step": true, |
| "name": "close tree" |
| }, |
| { |
| "failure": { |
| "failure": {}, |
| "humanReason": "2 builders are failing" |
| }, |
| "name": "$result" |
| } |
| ] |