| [ |
| { |
| "cmd": [], |
| "name": "Initialize logs" |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0o777", |
| "[CLEANUP]/flutter_logs_dir" |
| ], |
| "infra_step": true, |
| "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "", |
| "[CLEANUP]/flutter_logs_dir/noop.txt" |
| ], |
| "infra_step": true, |
| "name": "Initialize logs.Write noop file", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "process logs" |
| }, |
| { |
| "cmd": [ |
| "python3", |
| "-u", |
| "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py", |
| "--", |
| "RECIPE_REPO[depot_tools]/gsutil.py", |
| "-m", |
| "----", |
| "cp", |
| "-r", |
| "[CLEANUP]/flutter_logs_dir", |
| "gs://flutter_logs/flutter/00000000-0000-0000-0000-000000001337/mytaskname/00000000-0000-0000-0000-000000001337" |
| ], |
| "infra_step": true, |
| "name": "process logs.gsutil upload logs 00000000-0000-0000-0000-000000001337", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LINK@archive logs@https://console.cloud.google.com/storage/browser/flutter_logs/flutter/00000000-0000-0000-0000-000000001337/mytaskname/00000000-0000-0000-0000-000000001337@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[CLEANUP]/flutter_logs_dir", |
| "*" |
| ], |
| "infra_step": true, |
| "name": "process logs.logs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@glob@[CLEANUP]/flutter_logs_dir/a.txt@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "log links", |
| "~followup_annotations": [ |
| "@@@STEP_LINK@myfile.txt@https://storage.googleapis.com/flutter_logs/flutter/00000000-0000-0000-0000-000000001337/mytaskname/00000000-0000-0000-0000-000000001337/myfile.txt@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "listdir", |
| "[CLEANUP]/flutter_logs_dir", |
| "--recursive" |
| ], |
| "infra_step": true, |
| "name": "log links.List logs path", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@listdir@[CLEANUP]/flutter_logs_dir/myfile.txt@@@", |
| "@@@STEP_LOG_END@listdir@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "store metrics" |
| }, |
| { |
| "cmd": [ |
| "python3", |
| "-u", |
| "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py", |
| "--", |
| "RECIPE_REPO[depot_tools]/gsutil.py", |
| "-m", |
| "----", |
| "cp", |
| "-r", |
| "[CLEANUP]/flutter_logs_dir", |
| "gs://flutter_logs/flutter/hash/taskname/00000000-0000-0000-0000-00000000133a" |
| ], |
| "infra_step": true, |
| "name": "store metrics.gsutil upload logs hash", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LINK@archive logs@https://console.cloud.google.com/storage/browser/flutter_logs/flutter/hash/taskname/00000000-0000-0000-0000-00000000133a@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "store metrics (2)" |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "{\"a\": \"b\"}", |
| "[CLEANUP]/flutter_logs_dir/errors.log" |
| ], |
| "infra_step": true, |
| "name": "write file", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@errors.log@{\"a\": \"b\"}@@@", |
| "@@@STEP_LOG_END@errors.log@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[CLEANUP]/flutter_logs_dir/errors.log", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "Read log file", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_END@errors.log@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |